aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/Sema/SemaAttr.cpp7
-rw-r--r--test/Parser/pragma-options.c2
2 files changed, 7 insertions, 2 deletions
diff --git a/lib/Sema/SemaAttr.cpp b/lib/Sema/SemaAttr.cpp
index fcf5bfd669..df68f53da6 100644
--- a/lib/Sema/SemaAttr.cpp
+++ b/lib/Sema/SemaAttr.cpp
@@ -135,7 +135,6 @@ void Sema::ActOnPragmaOptionsAlign(PragmaOptionsAlignKind Kind,
return;
}
- // We don't support #pragma options align=power.
switch (Kind) {
// For all targets we support native and natural are the same.
//
@@ -146,6 +145,12 @@ void Sema::ActOnPragmaOptionsAlign(PragmaOptionsAlignKind Kind,
Context->setAlignment(0);
break;
+ // FIXME: We just ignore #pragma options align=power for now.
+ case POAK_Power:
+ Context->push(0);
+ Context->setAlignment(0);
+ break;
+
// Note that '#pragma options align=packed' is not equivalent to attribute
// packed, it has a different precedence relative to attribute aligned.
case POAK_Packed:
diff --git a/test/Parser/pragma-options.c b/test/Parser/pragma-options.c
index 332249fdcf..daf385dddb 100644
--- a/test/Parser/pragma-options.c
+++ b/test/Parser/pragma-options.c
@@ -9,4 +9,4 @@
#pragma options align=natural
#pragma options align=reset
#pragma options align=mac68k
-/* expected-warning {{unsupported alignment option}} */ #pragma options align=power
+#pragma options align=power