diff options
-rw-r--r-- | src/libs/3rdparty/cplusplus/CPlusPlusForwardDeclarations.h | 25 | ||||
-rw-r--r-- | src/libs/3rdparty/cplusplus/Lexer.h | 3 |
2 files changed, 22 insertions, 6 deletions
diff --git a/src/libs/3rdparty/cplusplus/CPlusPlusForwardDeclarations.h b/src/libs/3rdparty/cplusplus/CPlusPlusForwardDeclarations.h index 5c24b2ee3cf..7a3b2e0f3bb 100644 --- a/src/libs/3rdparty/cplusplus/CPlusPlusForwardDeclarations.h +++ b/src/libs/3rdparty/cplusplus/CPlusPlusForwardDeclarations.h @@ -24,9 +24,28 @@ #include <cstdlib> #include <cstddef> -#ifndef CPLUSPLUS_WITHOUT_QT +#ifdef CPLUSPLUS_WITHOUT_QT +# ifndef CPLUSPLUS_UNLIKELY +# ifdef __GNUC__ +# define CPLUSPLUS_UNLIKELY(expr) __builtin_expect(!!(expr), false) +# else +# define CPLUSPLUS_UNLIKELY(expr) (expr) +# endif +# endif +# define CPLUSPLUS_EXPORT +#else # include <qglobal.h> - +# ifndef CPLUSPLUS_UNLIKELY +# ifdef Q_UNLIKELY +# define CPLUSPLUS_UNLIKELY(expr) Q_UNLIKELY(expr) +# else // pre 4.8.something +# ifdef __GCC__ +# define CPLUSPLUS_UNLIKELY(expr) __builtin_expect(!!(expr), false) +# else +# define CPLUSPLUS_UNLIKELY(expr) (expr) +# endif +# endif +# endif # if defined(CPLUSPLUS_BUILD_LIB) # define CPLUSPLUS_EXPORT Q_DECL_EXPORT # elif defined(CPLUSPLUS_BUILD_STATIC_LIB) @@ -34,8 +53,6 @@ # else # define CPLUSPLUS_EXPORT Q_DECL_IMPORT # endif -#else -# define CPLUSPLUS_EXPORT #endif namespace CPlusPlus { diff --git a/src/libs/3rdparty/cplusplus/Lexer.h b/src/libs/3rdparty/cplusplus/Lexer.h index 2484b476a32..cbea3be06ad 100644 --- a/src/libs/3rdparty/cplusplus/Lexer.h +++ b/src/libs/3rdparty/cplusplus/Lexer.h @@ -24,7 +24,6 @@ #include "CPlusPlusForwardDeclarations.h" #include "Token.h" - namespace CPlusPlus { class CPLUSPLUS_EXPORT Lexer @@ -100,7 +99,7 @@ private: inline void yyinp() { _yychar = *++_currentChar; - if (Q_UNLIKELY(_yychar == '\n')) + if (CPLUSPLUS_UNLIKELY(_yychar == '\n')) pushLineStartOffset(); } |