diff options
author | Mike Stump <mrs@apple.com> | 2009-07-27 21:33:40 +0000 |
---|---|---|
committer | Mike Stump <mrs@apple.com> | 2009-07-27 21:33:40 +0000 |
commit | 9a9e0c2b17f6277478f70003aa53936dbced6de0 (patch) | |
tree | 0b596b1da3159e8e76c223c78f09314691408c4f /clang/lib/Sema/SemaDecl.cpp | |
parent | 9d0e762c814300401c876b594c9dfb2ff2e665e3 (diff) | |
download | bcm5719-llvm-9a9e0c2b17f6277478f70003aa53936dbced6de0.tar.gz bcm5719-llvm-9a9e0c2b17f6277478f70003aa53936dbced6de0.zip |
Add builtin knowledge about longjmp being noreturn. Add printing for
the noreturn attribute.
llvm-svn: 77253
Diffstat (limited to 'clang/lib/Sema/SemaDecl.cpp')
-rw-r--r-- | clang/lib/Sema/SemaDecl.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/clang/lib/Sema/SemaDecl.cpp b/clang/lib/Sema/SemaDecl.cpp index bf2d3ccec26..d168a907a09 100644 --- a/clang/lib/Sema/SemaDecl.cpp +++ b/clang/lib/Sema/SemaDecl.cpp @@ -3705,7 +3705,9 @@ void Sema::AddKnownFunctionAttributes(FunctionDecl *FD) { if (!FD->getAttr<FormatAttr>()) FD->addAttr(::new (Context) FormatAttr("printf", 2, Name->isStr("vasprintf") ? 0 : 3)); - } + } else if (Name->isStr("longjmp") && + !FD->hasAttr<NoReturnAttr>()) + FD->addAttr(::new (Context) NoReturnAttr()); } TypedefDecl *Sema::ParseTypedefDecl(Scope *S, Declarator &D, QualType T) { |