diff options
author | Alisdair Meredith <public@alisdairm.net> | 2009-07-14 06:30:34 +0000 |
---|---|---|
committer | Alisdair Meredith <public@alisdairm.net> | 2009-07-14 06:30:34 +0000 |
commit | f5c209d23b20ada4a9b6235db50317239cbf6ae1 (patch) | |
tree | 86513b9161dcbc74e0684bd1e0c6b26b47afe712 /lib/Parse/ParseDecl.cpp | |
parent | 127bf318068659471bce3b08c462d2eab6a5e6a5 (diff) |
Basic support for C++0x unicode types. Support for literals will follow in an incremental patch
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75622 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Parse/ParseDecl.cpp')
-rw-r--r-- | lib/Parse/ParseDecl.cpp | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/lib/Parse/ParseDecl.cpp b/lib/Parse/ParseDecl.cpp index 94855b24f5..cefd325248 100644 --- a/lib/Parse/ParseDecl.cpp +++ b/lib/Parse/ParseDecl.cpp @@ -159,6 +159,8 @@ AttributeList *Parser::ParseAttributes(SourceLocation *EndLoc) { break; case tok::kw_char: case tok::kw_wchar_t: + case tok::kw_char16_t: + case tok::kw_char32_t: case tok::kw_bool: case tok::kw_short: case tok::kw_int: @@ -999,6 +1001,12 @@ void Parser::ParseDeclarationSpecifiers(DeclSpec &DS, case tok::kw_wchar_t: isInvalid = DS.SetTypeSpecType(DeclSpec::TST_wchar, Loc, PrevSpec); break; + case tok::kw_char16_t: + isInvalid = DS.SetTypeSpecType(DeclSpec::TST_char16, Loc, PrevSpec); + break; + case tok::kw_char32_t: + isInvalid = DS.SetTypeSpecType(DeclSpec::TST_char32, Loc, PrevSpec); + break; case tok::kw_bool: case tok::kw__Bool: isInvalid = DS.SetTypeSpecType(DeclSpec::TST_bool, Loc, PrevSpec); @@ -1226,6 +1234,12 @@ bool Parser::ParseOptionalTypeSpecifier(DeclSpec &DS, int& isInvalid, case tok::kw_wchar_t: isInvalid = DS.SetTypeSpecType(DeclSpec::TST_wchar, Loc, PrevSpec); break; + case tok::kw_char16_t: + isInvalid = DS.SetTypeSpecType(DeclSpec::TST_char16, Loc, PrevSpec); + break; + case tok::kw_char32_t: + isInvalid = DS.SetTypeSpecType(DeclSpec::TST_char32, Loc, PrevSpec); + break; case tok::kw_bool: case tok::kw__Bool: isInvalid = DS.SetTypeSpecType(DeclSpec::TST_bool, Loc, PrevSpec); @@ -1714,6 +1728,8 @@ bool Parser::isTypeSpecifierQualifier() { case tok::kw_void: case tok::kw_char: case tok::kw_wchar_t: + case tok::kw_char16_t: + case tok::kw_char32_t: case tok::kw_int: case tok::kw_float: case tok::kw_double: @@ -1802,6 +1818,9 @@ bool Parser::isDeclarationSpecifier() { case tok::kw_void: case tok::kw_char: case tok::kw_wchar_t: + case tok::kw_char16_t: + case tok::kw_char32_t: + case tok::kw_int: case tok::kw_float: case tok::kw_double: |