aboutsummaryrefslogtreecommitdiffstats
path: root/src/libs/3rdparty/cplusplus/Keywords.cpp
diff options
context:
space:
mode:
authorErik Verbruggen <erik.verbruggen@nokia.com>2012-02-02 13:39:24 +0100
committerErik Verbruggen <erik.verbruggen@nokia.com>2012-02-02 13:49:22 +0100
commit1d3dc3015343a9ec55d58115390f5dcf9ba92297 (patch)
treed9c752f44f4374ae445267e25f5e6433d99c9327 /src/libs/3rdparty/cplusplus/Keywords.cpp
parent3afd3a37d30f6ca46054812a3e142eb9d683cccc (diff)
C++11: add support for static_assert.
Change-Id: I82d8d60acaa9265fd25e0a3734855b19bdef9c06 Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
Diffstat (limited to 'src/libs/3rdparty/cplusplus/Keywords.cpp')
-rw-r--r--src/libs/3rdparty/cplusplus/Keywords.cpp28
1 files changed, 27 insertions, 1 deletions
diff --git a/src/libs/3rdparty/cplusplus/Keywords.cpp b/src/libs/3rdparty/cplusplus/Keywords.cpp
index a09e0f0520..49c7e442d0 100644
--- a/src/libs/3rdparty/cplusplus/Keywords.cpp
+++ b/src/libs/3rdparty/cplusplus/Keywords.cpp
@@ -1360,7 +1360,7 @@ static inline int classify12(const char *s, bool q, bool) {
return T_IDENTIFIER;
}
-static inline int classify13(const char *s, bool, bool) {
+static inline int classify13(const char *s, bool, bool x) {
if (s[0] == '_') {
if (s[1] == '_') {
if (s[2] == 'a') {
@@ -1387,6 +1387,32 @@ static inline int classify13(const char *s, bool, bool) {
}
}
}
+ } else if (x && s[0] == 's') {
+ if (s[1] == 't') {
+ if (s[2] == 'a') {
+ if (s[3] == 't') {
+ if (s[4] == 'i') {
+ if (s[5] == 'c') {
+ if (s[6] == '_') {
+ if (s[7] == 'a') {
+ if (s[8] == 's') {
+ if (s[9] == 's') {
+ if (s[10] == 'e') {
+ if (s[11] == 'r') {
+ if (s[12] == 't') {
+ return T_STATIC_ASSERT;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
}
return T_IDENTIFIER;
}