]> granicus.if.org Git - clang/commit
Implement C++11 semantics for [[noreturn]] attribute. This required splitting
authorRichard Smith <richard-llvm@metafoo.co.uk>
Thu, 17 Jan 2013 01:30:42 +0000 (01:30 +0000)
committerRichard Smith <richard-llvm@metafoo.co.uk>
Thu, 17 Jan 2013 01:30:42 +0000 (01:30 +0000)
commitcd8ab51a44e80625d84126780b0d85a7732e25af
treeeb8a9f189b8553a98c361192ddb816b8f1703d5c
parent6c3af3d0e3e65bcbca57bfd458d684941f6d0531
Implement C++11 semantics for [[noreturn]] attribute. This required splitting
it apart from [[gnu::noreturn]] / __attribute__((noreturn)), since their
semantics are not equivalent (for instance, we treat [[gnu::noreturn]] as
affecting the function type, whereas [[noreturn]] does not).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172691 91177308-0d34-0410-b5e6-96231b3b80d8
24 files changed:
include/clang/AST/Decl.h
include/clang/AST/Type.h
include/clang/Basic/Attr.td
include/clang/Basic/DiagnosticParseKinds.td
include/clang/Basic/DiagnosticSemaKinds.td
include/clang/Sema/Sema.h
lib/AST/Decl.cpp
lib/Analysis/CFG.cpp
lib/CodeGen/CGCall.cpp
lib/Parse/ParseDecl.cpp
lib/Parse/ParseDeclCXX.cpp
lib/Parse/Parser.cpp
lib/Sema/AnalysisBasedWarnings.cpp
lib/Sema/SemaDecl.cpp
lib/Sema/SemaDeclAttr.cpp
lib/Sema/SemaStmt.cpp
lib/Sema/SemaType.cpp
lib/StaticAnalyzer/Checkers/NoReturnFunctionChecker.cpp
test/CXX/dcl.dcl/dcl.attr/dcl.attr.noreturn/p1.cpp [new file with mode: 0644]
test/CXX/expr/expr.prim/expr.prim.lambda/p5.cpp
test/CXX/expr/expr.prim/expr.prim.lambda/templates.cpp
test/CodeGenCXX/cxx11-noreturn.cpp [new file with mode: 0644]
test/Parser/cxx0x-attributes.cpp
test/Parser/objcxx11-attributes.mm