From 484d4dc26e00b2511ed1f09524803121e2374f60 Mon Sep 17 00:00:00 2001 From: Christian Kamm <christian.d.kamm@nokia.com> Date: Mon, 17 Sep 2012 13:34:36 +0200 Subject: [PATCH] C++11: Add the alignof and alignas tokens. Change-Id: I7f60057953787b3300aafa4d3f230f10b1e9a50f Reviewed-by: hjk <qthjk@ovi.com> --- src/libs/3rdparty/cplusplus/Keywords.cpp | 20 ++++++++++++++++++++ src/libs/3rdparty/cplusplus/Token.cpp | 2 +- src/libs/3rdparty/cplusplus/Token.h | 4 +++- 3 files changed, 24 insertions(+), 2 deletions(-) diff --git a/src/libs/3rdparty/cplusplus/Keywords.cpp b/src/libs/3rdparty/cplusplus/Keywords.cpp index cac51a4fd68..1da78381ac0 100644 --- a/src/libs/3rdparty/cplusplus/Keywords.cpp +++ b/src/libs/3rdparty/cplusplus/Keywords.cpp @@ -573,6 +573,26 @@ static inline int classify7(const char *s, bool q, bool x) { } } } + else if (x && s[0] == 'a') { + if (s[1] == 'l') { + if (s[2] == 'i') { + if (s[3] == 'g') { + if (s[4] == 'n') { + if (s[5] == 'a') { + if (s[6] == 's') { + return T_ALIGNAS; + } + } + else if (s[5] == 'o') { + if (s[6] == 'f') { + return T_ALIGNOF; + } + } + } + } + } + } + } else if (s[0] == 'd') { if (s[1] == 'e') { if (s[2] == 'f') { diff --git a/src/libs/3rdparty/cplusplus/Token.cpp b/src/libs/3rdparty/cplusplus/Token.cpp index dcc18601c21..ed3319aeab0 100644 --- a/src/libs/3rdparty/cplusplus/Token.cpp +++ b/src/libs/3rdparty/cplusplus/Token.cpp @@ -46,7 +46,7 @@ static const char *token_names[] = { ("|="), ("||"), ("+"), ("+="), ("++"), ("#"), ("##"), ("?"), ("}"), ("]"), (")"), (";"), ("*"), ("*="), ("~"), ("~="), - ("asm"), ("auto"), ("bool"), ("break"), ("case"), ("catch"), + ("alignas"), ("alignof"), ("asm"), ("auto"), ("bool"), ("break"), ("case"), ("catch"), ("char"), ("char16_t"), ("char32_t"), ("class"), ("const"), ("const_cast"), ("constexpr"), ("continue"), ("decltype"), ("default"), diff --git a/src/libs/3rdparty/cplusplus/Token.h b/src/libs/3rdparty/cplusplus/Token.h index a89e5522561..3d253151bdc 100644 --- a/src/libs/3rdparty/cplusplus/Token.h +++ b/src/libs/3rdparty/cplusplus/Token.h @@ -115,7 +115,9 @@ enum Kind { T_LAST_OPERATOR = T_TILDE_EQUAL, T_FIRST_KEYWORD, - T_ASM = T_FIRST_KEYWORD, + T_ALIGNAS = T_FIRST_KEYWORD, + T_ALIGNOF, + T_ASM, T_AUTO, T_BOOL, T_BREAK, -- GitLab