diff options
author | Steve Naroff <snaroff@apple.com> | 2009-01-06 19:34:12 +0000 |
---|---|---|
committer | Steve Naroff <snaroff@apple.com> | 2009-01-06 19:34:12 +0000 |
commit | f192fabbdc3b2998a263d638a5ea7eaf613778b7 (patch) | |
tree | ff94116c86e36b66bb993cf6c2d76a791c666867 | |
parent | 016056cfde1e13681e359f99572ccd51dc183438 (diff) | |
download | bcm5719-llvm-f192fabbdc3b2998a263d638a5ea7eaf613778b7.tar.gz bcm5719-llvm-f192fabbdc3b2998a263d638a5ea7eaf613778b7.zip |
Another tweak to handle the MS extensions (<rdar://problem/5956221>).
llvm-svn: 61821
-rw-r--r-- | clang/lib/Parse/ParseDecl.cpp | 1 | ||||
-rw-r--r-- | clang/lib/Parse/ParseTentative.cpp | 1 | ||||
-rw-r--r-- | clang/test/Parser/MicrosoftExtensions.c | 5 |
3 files changed, 7 insertions, 0 deletions
diff --git a/clang/lib/Parse/ParseDecl.cpp b/clang/lib/Parse/ParseDecl.cpp index 3b65ee0ba78..c4126f3bb46 100644 --- a/clang/lib/Parse/ParseDecl.cpp +++ b/clang/lib/Parse/ParseDecl.cpp @@ -1353,6 +1353,7 @@ bool Parser::isDeclarationSpecifier() { case tok::less: return getLang().ObjC1; + case tok::kw___declspec: case tok::kw___cdecl: case tok::kw___stdcall: case tok::kw___fastcall: diff --git a/clang/lib/Parse/ParseTentative.cpp b/clang/lib/Parse/ParseTentative.cpp index 11df2f45cea..a7c3e389319 100644 --- a/clang/lib/Parse/ParseTentative.cpp +++ b/clang/lib/Parse/ParseTentative.cpp @@ -626,6 +626,7 @@ Parser::TPResult Parser::isCXXDeclarationSpecifier() { return TPResult::True(); // Microsoft + case tok::kw___declspec: case tok::kw___cdecl: case tok::kw___stdcall: case tok::kw___fastcall: diff --git a/clang/test/Parser/MicrosoftExtensions.c b/clang/test/Parser/MicrosoftExtensions.c index 6b097ab7a8d..beeef0a9f55 100644 --- a/clang/test/Parser/MicrosoftExtensions.c +++ b/clang/test/Parser/MicrosoftExtensions.c @@ -21,3 +21,8 @@ __forceinline InterlockedBitTestAndSet (long *Base, long Bit) }; } +void *_alloca(int); + +void foo() { + __declspec(align(16)) int *buffer = (int *)_alloca(9); +} |