diff options
author | João Abecasis <joao.abecasis@nokia.com> | 2012-03-15 11:37:02 +0100 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-03-21 01:18:22 +0100 |
commit | c236842241f9fcfff3274d8b1b7b1f365dc9227f (patch) | |
tree | 1352fa77473c84e51e1e4419ea83332f5ccbcdd9 | |
parent | 3e1e0b41a81b7c3e4140264dcaede7ab8a51bf77 (diff) |
Use clang's builtin is_enum, if available
Change-Id: Ie0c32b8fd6d3bb02cf6c6b626bb31d57cdcdf497
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
Reviewed-by: Glenn Watson <glenn.watson@nokia.com>
-rw-r--r-- | src/corelib/global/qisenum.h | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/corelib/global/qisenum.h b/src/corelib/global/qisenum.h index c9b6ec6695..ef1ccc81a8 100644 --- a/src/corelib/global/qisenum.h +++ b/src/corelib/global/qisenum.h @@ -52,12 +52,18 @@ QT_BEGIN_NAMESPACE # define Q_IS_ENUM(x) __is_enum(x) # elif defined(Q_CC_MSVC) && defined(_MSC_FULL_VER) && (_MSC_FULL_VER >=140050215) # define Q_IS_ENUM(x) __is_enum(x) -# else -# include <QtCore/qtypetraits.h> -# define Q_IS_ENUM(x) QtPrivate::is_enum<x>::value +# elif defined(Q_CC_CLANG) +# if __has_extension(is_enum) +# define Q_IS_ENUM(x) __is_enum(x) +# endif # endif #endif +#ifndef Q_IS_ENUM +# include <QtCore/qtypetraits.h> +# define Q_IS_ENUM(x) QtPrivate::is_enum<x>::value +#endif + QT_END_HEADER QT_END_NAMESPACE |