From 98c56677a7802b608a51b53e196011d91d995f84 Mon Sep 17 00:00:00 2001 From: Ted Kremenek Date: Mon, 3 Mar 2008 16:52:27 +0000 Subject: [PATCH] Only allow a "noreturn" attribute to be affixed to a FunctionDecl. llvm-svn: 47844 --- clang/Sema/SemaDecl.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/clang/Sema/SemaDecl.cpp b/clang/Sema/SemaDecl.cpp index 6854aacb9e4d..88225f535d4c 100644 --- a/clang/Sema/SemaDecl.cpp +++ b/clang/Sema/SemaDecl.cpp @@ -1998,6 +1998,14 @@ void Sema::HandleNoReturnAttribute(Decl *d, AttributeList *rawAttr) { return; } + FunctionDecl *Fn = dyn_cast(d); + + if (!Fn) { + Diag(rawAttr->getLoc(), diag::warn_attribute_wrong_decl_type, + "noreturn", "function"); + return; + } + d->addAttr(new NoReturnAttr()); }