diff options
author | Francois Pichet <pichet2000@gmail.com> | 2011-08-18 09:59:55 +0000 |
---|---|---|
committer | Francois Pichet <pichet2000@gmail.com> | 2011-08-18 09:59:55 +0000 |
commit | 3bd9aa4593b4332d477407d9b5a42f3c4ababb21 (patch) | |
tree | 0334594340a3f6bb6d60019e4460ad1c69fa2510 /lib/Parse/ParseTentative.cpp | |
parent | 80f5b16efb658dabbcf971f42ed8b789aaaa6baa (diff) |
Add support for MSVC __unaligned attribute. Necessary to parse MSVC headers in 64-bit mode (ie: when _M_IA64 or _M_AMD64 is defined)
more info: http://msdn.microsoft.com/en-us/library/ms177389.aspx
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@137935 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Parse/ParseTentative.cpp')
-rw-r--r-- | lib/Parse/ParseTentative.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/Parse/ParseTentative.cpp b/lib/Parse/ParseTentative.cpp index 3f245a376c..e354f57b70 100644 --- a/lib/Parse/ParseTentative.cpp +++ b/lib/Parse/ParseTentative.cpp @@ -552,7 +552,8 @@ Parser::TPResult Parser::TryParseDeclarator(bool mayBeAbstract, Tok.is(tok::kw___cdecl) || Tok.is(tok::kw___stdcall) || Tok.is(tok::kw___fastcall) || - Tok.is(tok::kw___thiscall)) + Tok.is(tok::kw___thiscall) || + Tok.is(tok::kw___unaligned))
return TPResult::True(); // attributes indicate declaration TPResult TPR = TryParseDeclarator(mayBeAbstract, mayHaveIdentifier); if (TPR != TPResult::Ambiguous()) @@ -711,6 +712,7 @@ Parser::isExpressionOrTypeSpecifierSimple(tok::TokenKind Kind) { case tok::kw___stdcall: case tok::kw___fastcall: case tok::kw___thiscall: + case tok::kw___unaligned:
case tok::kw___vector: case tok::kw___pixel: return TPResult::False(); @@ -903,6 +905,7 @@ Parser::TPResult Parser::isCXXDeclarationSpecifier() { case tok::kw___w64: case tok::kw___ptr64: case tok::kw___forceinline: + case tok::kw___unaligned:
return TPResult::True(); // Borland |