From 47f5209a80c7c75592e87eb296d2b51e03208ae0 Mon Sep 17 00:00:00 2001 From: Steve Naroff Date: Tue, 6 Jan 2009 19:34:12 +0000 Subject: [PATCH] Another tweak to handle the MS extensions (). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61821 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Parse/ParseDecl.cpp | 1 + lib/Parse/ParseTentative.cpp | 1 + test/Parser/MicrosoftExtensions.c | 5 +++++ 3 files changed, 7 insertions(+) diff --git a/lib/Parse/ParseDecl.cpp b/lib/Parse/ParseDecl.cpp index 3b65ee0ba7..c4126f3bb4 100644 --- a/lib/Parse/ParseDecl.cpp +++ b/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/lib/Parse/ParseTentative.cpp b/lib/Parse/ParseTentative.cpp index 11df2f45ce..a7c3e38931 100644 --- a/lib/Parse/ParseTentative.cpp +++ b/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/test/Parser/MicrosoftExtensions.c b/test/Parser/MicrosoftExtensions.c index 6b097ab7a8..beeef0a9f5 100644 --- a/test/Parser/MicrosoftExtensions.c +++ b/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); +} -- 2.50.1