diff options
Diffstat (limited to 'clang/lib')
| -rw-r--r-- | clang/lib/Parse/ParsePragma.cpp | 8 | ||||
| -rw-r--r-- | clang/lib/Sema/SemaAttr.cpp | 4 | 
2 files changed, 9 insertions, 3 deletions
| diff --git a/clang/lib/Parse/ParsePragma.cpp b/clang/lib/Parse/ParsePragma.cpp index c4e4a525e56..397d816c76e 100644 --- a/clang/lib/Parse/ParsePragma.cpp +++ b/clang/lib/Parse/ParsePragma.cpp @@ -110,7 +110,7 @@ void PragmaPackHandler::HandlePragma(Preprocessor &PP, Token &PackTok) {                            LParenLoc, RParenLoc);  } -// #pragma 'options' 'align' '=' {'natural', 'mac68k', 'power', 'reset'} +// #pragma 'options' 'align' '=' {'native','natural','mac68k','power','reset'}  void PragmaOptionsHandler::HandlePragma(Preprocessor &PP, Token &OptionsTok) {    SourceLocation OptionsLoc = OptionsTok.getLocation(); @@ -120,7 +120,7 @@ void PragmaOptionsHandler::HandlePragma(Preprocessor &PP, Token &OptionsTok) {      PP.Diag(Tok.getLocation(), diag::warn_pragma_options_expected_align);      return;    } -   +    PP.Lex(Tok);    if (Tok.isNot(tok::equal)) {      PP.Diag(Tok.getLocation(), diag::warn_pragma_options_expected_equal); @@ -136,7 +136,9 @@ void PragmaOptionsHandler::HandlePragma(Preprocessor &PP, Token &OptionsTok) {    Action::PragmaOptionsAlignKind Kind = Action::POAK_Natural;    const IdentifierInfo *II = Tok.getIdentifierInfo(); -  if (II->isStr("natural")) +  if (II->isStr("native")) +    Kind = Action::POAK_Native; +  else if (II->isStr("natural"))      Kind = Action::POAK_Natural;    else if (II->isStr("power"))      Kind = Action::POAK_Power; diff --git a/clang/lib/Sema/SemaAttr.cpp b/clang/lib/Sema/SemaAttr.cpp index 82978c95605..c540af2498d 100644 --- a/clang/lib/Sema/SemaAttr.cpp +++ b/clang/lib/Sema/SemaAttr.cpp @@ -137,6 +137,10 @@ void Sema::ActOnPragmaOptionsAlign(PragmaOptionsAlignKind Kind,    // We don't support #pragma options align=power.    switch (Kind) { +    // For all targets we support native and natural are the same. +    // +    // FIXME: This is not true on Darwin/PPC. +  case POAK_Native:    case POAK_Natural:      Context->push(0);      Context->setAlignment(0); | 

