From eac518aee6ea7173e5462fe16768ebb1b3f54b29 Mon Sep 17 00:00:00 2001 From: Orgad Shaneh Date: Sun, 24 Nov 2013 18:25:32 +0200 Subject: C++: Support __thread and thread_local Task-number: QTCREATORBUG-7679 Change-Id: I794f52b2bcfb6c78ceef86ec53b6ed32b3d53d9f Reviewed-by: Orgad Shaneh Reviewed-by: Erik Verbruggen --- src/libs/3rdparty/cplusplus/Keywords.cpp | 36 ++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) (limited to 'src/libs/3rdparty/cplusplus/Keywords.cpp') diff --git a/src/libs/3rdparty/cplusplus/Keywords.cpp b/src/libs/3rdparty/cplusplus/Keywords.cpp index 91c9ffc312..9bce1ff3f8 100644 --- a/src/libs/3rdparty/cplusplus/Keywords.cpp +++ b/src/libs/3rdparty/cplusplus/Keywords.cpp @@ -803,6 +803,17 @@ static inline int classify8(const char *s, LanguageFeatures features) } } } + else if (s[3] == 'h') { + if (s[4] == 'r') { + if (s[5] == 'e') { + if (s[6] == 'a') { + if (s[7] == 'd') { + return T___THREAD; + } + } + } + } + } } } } @@ -1443,6 +1454,31 @@ static inline int classify12(const char *s, LanguageFeatures features) } } } + else if (features.cxx11Enabled && s[0] == 't') { + if (s[1] == 'h') { + if (s[2] == 'r') { + if (s[3] == 'e') { + if (s[4] == 'a') { + if (s[5] == 'd') { + if (s[6] == '_') { + if (s[7] == 'l') { + if (s[8] == 'o') { + if (s[9] == 'c') { + if (s[10] == 'a') { + if (s[11] == 'l') { + return T_THREAD_LOCAL; + } + } + } + } + } + } + } + } + } + } + } + } return T_IDENTIFIER; } -- cgit v1.2.1