From 0e37911334775fe64070ba38e2642b35b5c38cb6 Mon Sep 17 00:00:00 2001 From: Charles Davis Date: Mon, 8 Aug 2016 21:19:08 +0000 Subject: Revert "[Attr] Add support for the `ms_hook_prologue` attribute." This reverts commit r278050. It depends on r278048, which will be reverted. llvm-svn: 278052 --- clang/lib/Sema/SemaDeclAttr.cpp | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) (limited to 'clang/lib/Sema/SemaDeclAttr.cpp') diff --git a/clang/lib/Sema/SemaDeclAttr.cpp b/clang/lib/Sema/SemaDeclAttr.cpp index 5dbe7aa52ea..d74cebc718c 100644 --- a/clang/lib/Sema/SemaDeclAttr.cpp +++ b/clang/lib/Sema/SemaDeclAttr.cpp @@ -1664,6 +1664,15 @@ static void handleCommonAttr(Sema &S, Decl *D, const AttributeList &Attr) { D->addAttr(CA); } +static void handleNakedAttr(Sema &S, Decl *D, const AttributeList &Attr) { + if (checkAttrMutualExclusion(S, D, Attr.getRange(), + Attr.getName())) + return; + + D->addAttr(::new (S.Context) NakedAttr(Attr.getRange(), S.Context, + Attr.getAttributeSpellingListIndex())); +} + static void handleNoReturnAttr(Sema &S, Decl *D, const AttributeList &attr) { if (hasDeclarator(D)) return; @@ -3664,9 +3673,7 @@ OptimizeNoneAttr *Sema::mergeOptimizeNoneAttr(Decl *D, SourceRange Range, static void handleAlwaysInlineAttr(Sema &S, Decl *D, const AttributeList &Attr) { if (checkAttrMutualExclusion(S, D, Attr.getRange(), - Attr.getName()) || - checkAttrMutualExclusion(S, D, Attr.getRange(), - Attr.getName())) + Attr.getName())) return; if (AlwaysInlineAttr *Inline = S.mergeAlwaysInlineAttr( @@ -5545,8 +5552,7 @@ static void ProcessDeclAttribute(Sema &S, Scope *scope, Decl *D, handleHotAttr(S, D, Attr); break; case AttributeList::AT_Naked: - handleSimpleAttributeWithExclusions(S, D, Attr); + handleNakedAttr(S, D, Attr); break; case AttributeList::AT_NoReturn: handleNoReturnAttr(S, D, Attr); @@ -5774,9 +5780,6 @@ static void ProcessDeclAttribute(Sema &S, Scope *scope, Decl *D, break; case AttributeList::AT_LayoutVersion: handleLayoutVersion(S, D, Attr); - case AttributeList::AT_MSHookPrologue: - handleSimpleAttributeWithExclusions(S, D, Attr); break; case AttributeList::AT_MSNoVTable: handleSimpleAttribute(S, D, Attr); -- cgit v1.2.3