Skip to content

Commit c2d47a9

Browse files
committed
[clang][NFC] Convert Sema::PragmaOptionsAlignKind to scoped enum
1 parent 34845ac commit c2d47a9

File tree

3 files changed

+24
-25
lines changed

3 files changed

+24
-25
lines changed

clang/include/clang/Sema/Sema.h

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -475,6 +475,15 @@ enum class PragmaClangSectionKind {
475475

476476
enum class PragmaClangSectionAction { Set = 0, Clear = 1 };
477477

478+
enum class PragmaOptionsAlignKind {
479+
Native, // #pragma options align=native
480+
Natural, // #pragma options align=natural
481+
Packed, // #pragma options align=packed
482+
Power, // #pragma options align=power
483+
Mac68k, // #pragma options align=mac68k
484+
Reset // #pragma options align=reset
485+
};
486+
478487
/// Sema - This implements semantic analysis and AST building for C.
479488
/// \nosubgrouping
480489
class Sema final : public SemaBase {
@@ -1783,15 +1792,6 @@ class Sema final : public SemaBase {
17831792
/// Add _Nullable attributes for std:: types.
17841793
void inferNullableClassAttribute(CXXRecordDecl *CRD);
17851794

1786-
enum PragmaOptionsAlignKind {
1787-
POAK_Native, // #pragma options align=native
1788-
POAK_Natural, // #pragma options align=natural
1789-
POAK_Packed, // #pragma options align=packed
1790-
POAK_Power, // #pragma options align=power
1791-
POAK_Mac68k, // #pragma options align=mac68k
1792-
POAK_Reset // #pragma options align=reset
1793-
};
1794-
17951795
/// ActOnPragmaClangSection - Called on well formed \#pragma clang section
17961796
void ActOnPragmaClangSection(SourceLocation PragmaLoc,
17971797
PragmaClangSectionAction Action,

clang/lib/Parse/ParsePragma.cpp

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -754,9 +754,8 @@ void Parser::HandlePragmaMSStruct() {
754754

755755
void Parser::HandlePragmaAlign() {
756756
assert(Tok.is(tok::annot_pragma_align));
757-
Sema::PragmaOptionsAlignKind Kind =
758-
static_cast<Sema::PragmaOptionsAlignKind>(
759-
reinterpret_cast<uintptr_t>(Tok.getAnnotationValue()));
757+
PragmaOptionsAlignKind Kind = static_cast<PragmaOptionsAlignKind>(
758+
reinterpret_cast<uintptr_t>(Tok.getAnnotationValue()));
760759
Actions.ActOnPragmaOptionsAlign(Kind, Tok.getLocation());
761760
// Consume the token after processing the pragma to enable pragma-specific
762761
// #include warnings.
@@ -2393,20 +2392,20 @@ static void ParseAlignPragma(Preprocessor &PP, Token &FirstTok,
23932392
return;
23942393
}
23952394

2396-
Sema::PragmaOptionsAlignKind Kind = Sema::POAK_Natural;
2395+
PragmaOptionsAlignKind Kind = PragmaOptionsAlignKind::Natural;
23972396
const IdentifierInfo *II = Tok.getIdentifierInfo();
23982397
if (II->isStr("native"))
2399-
Kind = Sema::POAK_Native;
2398+
Kind = PragmaOptionsAlignKind::Native;
24002399
else if (II->isStr("natural"))
2401-
Kind = Sema::POAK_Natural;
2400+
Kind = PragmaOptionsAlignKind::Natural;
24022401
else if (II->isStr("packed"))
2403-
Kind = Sema::POAK_Packed;
2402+
Kind = PragmaOptionsAlignKind::Packed;
24042403
else if (II->isStr("power"))
2405-
Kind = Sema::POAK_Power;
2404+
Kind = PragmaOptionsAlignKind::Power;
24062405
else if (II->isStr("mac68k"))
2407-
Kind = Sema::POAK_Mac68k;
2406+
Kind = PragmaOptionsAlignKind::Mac68k;
24082407
else if (II->isStr("reset"))
2409-
Kind = Sema::POAK_Reset;
2408+
Kind = PragmaOptionsAlignKind::Reset;
24102409
else {
24112410
PP.Diag(Tok.getLocation(), diag::warn_pragma_align_invalid_option)
24122411
<< IsOptions;

clang/lib/Sema/SemaAttr.cpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -339,23 +339,23 @@ void Sema::ActOnPragmaOptionsAlign(PragmaOptionsAlignKind Kind,
339339
switch (Kind) {
340340
// For most of the platforms we support, native and natural are the same.
341341
// With XL, native is the same as power, natural means something else.
342-
case POAK_Native:
343-
case POAK_Power:
342+
case PragmaOptionsAlignKind::Native:
343+
case PragmaOptionsAlignKind::Power:
344344
Action = Sema::PSK_Push_Set;
345345
break;
346-
case POAK_Natural:
346+
case PragmaOptionsAlignKind::Natural:
347347
Action = Sema::PSK_Push_Set;
348348
ModeVal = AlignPackInfo::Natural;
349349
break;
350350

351351
// Note that '#pragma options align=packed' is not equivalent to attribute
352352
// packed, it has a different precedence relative to attribute aligned.
353-
case POAK_Packed:
353+
case PragmaOptionsAlignKind::Packed:
354354
Action = Sema::PSK_Push_Set;
355355
ModeVal = AlignPackInfo::Packed;
356356
break;
357357

358-
case POAK_Mac68k:
358+
case PragmaOptionsAlignKind::Mac68k:
359359
// Check if the target supports this.
360360
if (!this->Context.getTargetInfo().hasAlignMac68kSupport()) {
361361
Diag(PragmaLoc, diag::err_pragma_options_align_mac68k_target_unsupported);
@@ -364,7 +364,7 @@ void Sema::ActOnPragmaOptionsAlign(PragmaOptionsAlignKind Kind,
364364
Action = Sema::PSK_Push_Set;
365365
ModeVal = AlignPackInfo::Mac68k;
366366
break;
367-
case POAK_Reset:
367+
case PragmaOptionsAlignKind::Reset:
368368
// Reset just pops the top of the stack, or resets the current alignment to
369369
// default.
370370
Action = Sema::PSK_Pop;

0 commit comments

Comments
 (0)