QOffsetStringArray: fix compilation error with ICC18
error: expression must have a constant value static constexpr const auto messages = qOffsetStringArray( Change-Id: I80a6bf5b83f99a8325511ac8a14e0c9819e3d2b7 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>bb10
parent
f5bf8ca9c3
commit
6723155bc7
|
|
@ -84,10 +84,7 @@ struct StaticString
|
|||
{
|
||||
const char data[N];
|
||||
|
||||
static constexpr int size() noexcept
|
||||
{
|
||||
return N;
|
||||
}
|
||||
constexpr StaticString(const StaticString<N> &other) noexcept = default;
|
||||
};
|
||||
|
||||
|
||||
|
|
@ -111,11 +108,11 @@ QT_WARNING_PUSH
|
|||
QT_WARNING_DISABLE_MSVC(4100) // The formal parameter is not referenced in the body of the function.
|
||||
// The unreferenced parameter is ignored.
|
||||
// It happens when 'rs' is StaticString<0>
|
||||
template<int N1, typename T2>
|
||||
static constexpr StaticString<N1 + T2::size()> concatenate(
|
||||
const char (&ls)[N1], const T2 &rs) noexcept
|
||||
template<int N1, int N2>
|
||||
static constexpr StaticString<N1 + N2> concatenate(
|
||||
const char (&ls)[N1], const StaticString<N2> &rs) noexcept
|
||||
{
|
||||
return {ls[I1]..., rs.data[I2]...};
|
||||
return StaticString<N1 + N2>{ls[I1]..., rs.data[I2]...};
|
||||
}
|
||||
QT_WARNING_POP
|
||||
};
|
||||
|
|
@ -144,7 +141,7 @@ public:
|
|||
template<int ... Ox>
|
||||
constexpr QOffsetStringArray(const QtPrivate::StaticString<SizeString> &str,
|
||||
QtPrivate::IndexesList<SizeString, Ox...>) noexcept
|
||||
: m_string{str},
|
||||
: m_string(str),
|
||||
m_offsets{Ox...}
|
||||
{ }
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue