aboutsummaryrefslogtreecommitdiffstats
path: root/src/libs/3rdparty/cplusplus/Keywords.cpp
diff options
context:
space:
mode:
authorLeandro Melo <leandro.melo@nokia.com>2012-06-06 13:41:22 +0200
committerhjk <qthjk@ovi.com>2012-06-06 14:55:07 +0200
commit23c637c4f677ab2f19793f409297b0131b21dcaa (patch)
treec940f0eddbc83bfc5ba3ee9e39c3833f45729cde /src/libs/3rdparty/cplusplus/Keywords.cpp
parentb88a5f5d381b4279f6aa93e1400d78d910f1ed15 (diff)
C++: Introduce unicode char/strings support
Those are the types char16_t and char32_t along with the new char/string literals u'', U'', u"", u8"", and U"". This is particularly important for the use of QStringLiteral since in some platforms it relies on expansion such as above. Note: The string literals quickfixes still need some tunning. Task-number: QTCREATORBUG-7449 Change-Id: Iebcfea15677dc8e0ebb6143def89a5477e1be7d4 Reviewed-by: hjk <qthjk@ovi.com>
Diffstat (limited to 'src/libs/3rdparty/cplusplus/Keywords.cpp')
-rw-r--r--src/libs/3rdparty/cplusplus/Keywords.cpp22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/libs/3rdparty/cplusplus/Keywords.cpp b/src/libs/3rdparty/cplusplus/Keywords.cpp
index fd5fc7d112..2062e40c7b 100644
--- a/src/libs/3rdparty/cplusplus/Keywords.cpp
+++ b/src/libs/3rdparty/cplusplus/Keywords.cpp
@@ -778,6 +778,28 @@ static inline int classify8(const char *s, bool q, bool x) {
}
}
}
+ } else if (x && s[1] == 'h') {
+ if (s[2] == 'a') {
+ if (s[3] == 'r') {
+ if (s[4] == '1') {
+ if (s[5] == '6') {
+ if (s[6] == '_') {
+ if (s[7] == 't') {
+ return T_CHAR16_T;
+ }
+ }
+ }
+ } else if (s[4] == '3') {
+ if (s[5] == '2') {
+ if (s[6] == '_') {
+ if (s[7] == 't') {
+ return T_CHAR32_T;
+ }
+ }
+ }
+ }
+ }
+ }
}
}
else if (x && s[0] == 'd') {