[cfe-commits] r165462 - in /cfe/trunk: lib/Parse/ParseStmt.cpp test/Sema/pragma-align-mac68k.c
Eli Friedman
eli.friedman at gmail.com
Mon Oct 8 16:52:38 PDT 2012
Author: efriedma
Date: Mon Oct 8 18:52:38 2012
New Revision: 165462
URL: http://llvm.org/viewvc/llvm-project?rev=165462&view=rev
Log:
Make sure we allow "#pragma options align=mac68k" in function-local contexts. <rdar://problem/12453134>
Modified:
cfe/trunk/lib/Parse/ParseStmt.cpp
cfe/trunk/test/Sema/pragma-align-mac68k.c
Modified: cfe/trunk/lib/Parse/ParseStmt.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Parse/ParseStmt.cpp?rev=165462&r1=165461&r2=165462&view=diff
==============================================================================
--- cfe/trunk/lib/Parse/ParseStmt.cpp (original)
+++ cfe/trunk/lib/Parse/ParseStmt.cpp Mon Oct 8 18:52:38 2012
@@ -254,6 +254,11 @@
HandlePragmaPack();
return StmtEmpty();
+ case tok::annot_pragma_align:
+ ProhibitAttributes(Attrs);
+ HandlePragmaAlign();
+ return StmtEmpty();
+
case tok::annot_pragma_fp_contract:
ProhibitAttributes(Attrs);
HandlePragmaFPContract();
Modified: cfe/trunk/test/Sema/pragma-align-mac68k.c
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Sema/pragma-align-mac68k.c?rev=165462&r1=165461&r2=165462&view=diff
==============================================================================
--- cfe/trunk/test/Sema/pragma-align-mac68k.c (original)
+++ cfe/trunk/test/Sema/pragma-align-mac68k.c Mon Oct 8 18:52:38 2012
@@ -96,3 +96,15 @@
extern int a11_1[offsetof(struct s11, f1) == 2 ? 1 : -1];
extern int a11_2[sizeof(struct s11) == 10 ? 1 : -1];
extern int a11_3[__alignof(struct s11) == 2 ? 1 : -1];
+
+#pragma options align=reset
+
+void f12(void) {
+ #pragma options align=mac68k
+ struct s12 {
+ char f0;
+ int f1;
+ };
+ #pragma options align=reset
+ extern int a12[sizeof(struct s12) == 6 ? 1 : -1];
+}
More information about the cfe-commits
mailing list