diff --git a/src/libs/3rdparty/cplusplus/Keywords.cpp b/src/libs/3rdparty/cplusplus/Keywords.cpp index cac51a4fd681685bf3cb5bf00614e4f874b91c62..1da78381ac0e0eb923ad8ddad814b20cd39bb7ca 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 dcc18601c21600d771120e02451aaee655d75ba3..ed3319aeab0112a7bcf19bac9ba4d299a5807b6f 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 a89e5522561e98cfa567d77911d10d3fcebaff8a..3d253151bdc1beec19e7b1b273ec2c2754b79056 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,