diff options
Diffstat (limited to 'lib/Sema/SemaAttr.cpp')
| -rw-r--r-- | lib/Sema/SemaAttr.cpp | 5 | 
1 files changed, 4 insertions, 1 deletions
| diff --git a/lib/Sema/SemaAttr.cpp b/lib/Sema/SemaAttr.cpp index 76297977ea0e..5a29bad29f4d 100644 --- a/lib/Sema/SemaAttr.cpp +++ b/lib/Sema/SemaAttr.cpp @@ -131,7 +131,7 @@ void Sema::AddAlignmentAttributesForRecord(RecordDecl *RD) {  void Sema::AddMsStructLayoutForRecord(RecordDecl *RD) {    if (MSStructPragmaOn) -    RD->addAttr(MsStructAttr::CreateImplicit(Context)); +    RD->addAttr(MSStructAttr::CreateImplicit(Context));    // FIXME: We should merge AddAlignmentAttributesForRecord with    // AddMsStructLayoutForRecord into AddPragmaAttributesForRecord, which takes @@ -422,6 +422,9 @@ void Sema::ActOnPragmaMSSeg(SourceLocation PragmaLocation,    if (Action & PSK_Pop && Stack->Stack.empty())      Diag(PragmaLocation, diag::warn_pragma_pop_failed) << PragmaName          << "stack empty"; +  if (SegmentName && +      !checkSectionName(SegmentName->getLocStart(), SegmentName->getString())) +    return;    Stack->Act(PragmaLocation, Action, StackSlotLabel, SegmentName);  } | 
