Fix compilation with ICC on Windows
Unlike MSVC, ICC *does* support constexpr, but on Windows it will not define __GNUC__, so we ended up in the multi-line alternative. That is not permitted in C++11, only in C++14. qalgorithms.h(659): error: statement may not appear in a constexpr function Change-Id: I7de033f80b0e4431b7f1ffff13fc96245ee9a846 Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>bb10
parent
1977855f31
commit
ad080fa311
|
|
@ -649,7 +649,7 @@ Q_DECL_RELAXED_CONSTEXPR inline uint qCountTrailingZeroBits(unsigned long v) Q_D
|
|||
return qCountTrailingZeroBits(QIntegerForSizeof<long>::Unsigned(v));
|
||||
}
|
||||
|
||||
Q_DECL_CONSTEXPR inline uint qCountLeadingZeroBits(quint32 v) Q_DECL_NOTHROW
|
||||
Q_DECL_RELAXED_CONSTEXPR inline uint qCountLeadingZeroBits(quint32 v) Q_DECL_NOTHROW
|
||||
{
|
||||
#if defined(Q_CC_GNU)
|
||||
return v ? __builtin_clz(v) : 32U;
|
||||
|
|
@ -664,7 +664,7 @@ Q_DECL_CONSTEXPR inline uint qCountLeadingZeroBits(quint32 v) Q_DECL_NOTHROW
|
|||
#endif
|
||||
}
|
||||
|
||||
Q_DECL_CONSTEXPR inline uint qCountLeadingZeroBits(quint8 v) Q_DECL_NOTHROW
|
||||
Q_DECL_RELAXED_CONSTEXPR inline uint qCountLeadingZeroBits(quint8 v) Q_DECL_NOTHROW
|
||||
{
|
||||
#if defined(Q_CC_GNU)
|
||||
return v ? __builtin_clz(v)-24U : 8U;
|
||||
|
|
@ -676,7 +676,7 @@ Q_DECL_CONSTEXPR inline uint qCountLeadingZeroBits(quint8 v) Q_DECL_NOTHROW
|
|||
#endif
|
||||
}
|
||||
|
||||
Q_DECL_CONSTEXPR inline uint qCountLeadingZeroBits(quint16 v) Q_DECL_NOTHROW
|
||||
Q_DECL_RELAXED_CONSTEXPR inline uint qCountLeadingZeroBits(quint16 v) Q_DECL_NOTHROW
|
||||
{
|
||||
#if defined(Q_CC_GNU)
|
||||
return v ? __builtin_clz(v)-16U : 16U;
|
||||
|
|
@ -689,7 +689,7 @@ Q_DECL_CONSTEXPR inline uint qCountLeadingZeroBits(quint16 v) Q_DECL_NOTHROW
|
|||
#endif
|
||||
}
|
||||
|
||||
Q_DECL_CONSTEXPR inline uint qCountLeadingZeroBits(quint64 v) Q_DECL_NOTHROW
|
||||
Q_DECL_RELAXED_CONSTEXPR inline uint qCountLeadingZeroBits(quint64 v) Q_DECL_NOTHROW
|
||||
{
|
||||
#if defined(Q_CC_GNU)
|
||||
return v ? __builtin_clzll(v) : 64U;
|
||||
|
|
@ -704,7 +704,7 @@ Q_DECL_CONSTEXPR inline uint qCountLeadingZeroBits(quint64 v) Q_DECL_NOTHROW
|
|||
#endif
|
||||
}
|
||||
|
||||
Q_DECL_CONSTEXPR inline uint qCountLeadingZeroBits(unsigned long v) Q_DECL_NOTHROW
|
||||
Q_DECL_RELAXED_CONSTEXPR inline uint qCountLeadingZeroBits(unsigned long v) Q_DECL_NOTHROW
|
||||
{
|
||||
return qCountLeadingZeroBits(QIntegerForSizeof<long>::Unsigned(v));
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue