diff options
author | Charles Davis <cdavis5x@gmail.com> | 2016-08-08 21:19:08 +0000 |
---|---|---|
committer | Charles Davis <cdavis5x@gmail.com> | 2016-08-08 21:19:08 +0000 |
commit | 0e37911334775fe64070ba38e2642b35b5c38cb6 (patch) | |
tree | 2daa4e4b6a92d5d76e7951b19a8a42c7da5a17f9 /clang/lib/Sema/SemaDeclAttr.cpp | |
parent | ef313059e528f0bdb7e42104671eaca48e3b68c9 (diff) | |
download | bcm5719-llvm-0e37911334775fe64070ba38e2642b35b5c38cb6.tar.gz bcm5719-llvm-0e37911334775fe64070ba38e2642b35b5c38cb6.zip |
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
Diffstat (limited to 'clang/lib/Sema/SemaDeclAttr.cpp')
-rw-r--r-- | clang/lib/Sema/SemaDeclAttr.cpp | 19 |
1 files changed, 11 insertions, 8 deletions
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<DisableTailCallsAttr>(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<NotTailCalledAttr>(S, D, Attr.getRange(), - Attr.getName()) || - checkAttrMutualExclusion<MSHookPrologueAttr>(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<NakedAttr, DisableTailCallsAttr, - MSHookPrologueAttr>(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<MSHookPrologueAttr, NakedAttr, - AlwaysInlineAttr>(S, D, Attr); break; case AttributeList::AT_MSNoVTable: handleSimpleAttribute<MSNoVTableAttr>(S, D, Attr); |