From 15b311c75244afa19d0cfd4057b397e5829ebad4 Mon Sep 17 00:00:00 2001 From: David Majnemer Date: Tue, 14 Jun 2016 03:20:28 +0000 Subject: [Parser] Handle __pragma(pack, etc. after type definitions Support certain MS pragmas right after the closing curly brace of a class. Clang did not expect __pragma in this position. This fixes PR28094. llvm-svn: 272628 --- clang/lib/Parse/ParseDecl.cpp | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'clang/lib/Parse/ParseDecl.cpp') diff --git a/clang/lib/Parse/ParseDecl.cpp b/clang/lib/Parse/ParseDecl.cpp index 746f996d368..be694901b91 100644 --- a/clang/lib/Parse/ParseDecl.cpp +++ b/clang/lib/Parse/ParseDecl.cpp @@ -3453,6 +3453,22 @@ void Parser::ParseDeclarationSpecifiers(DeclSpec &DS, ParseDecltypeSpecifier(DS); continue; + case tok::annot_pragma_pack: + HandlePragmaPack(); + continue; + + case tok::annot_pragma_ms_pragma: + HandlePragmaMSPragma(); + continue; + + case tok::annot_pragma_ms_vtordisp: + HandlePragmaMSVtorDisp(); + continue; + + case tok::annot_pragma_ms_pointers_to_members: + HandlePragmaMSPointersToMembers(); + continue; + case tok::kw___underlying_type: ParseUnderlyingTypeSpecifier(DS); continue; -- cgit v1.2.3