]> granicus.if.org Git - clang/commit
Instantiate exception specifications when instantiating function types (other
authorRichard Smith <richard-llvm@metafoo.co.uk>
Wed, 17 Sep 2014 23:57:05 +0000 (23:57 +0000)
committerRichard Smith <richard-llvm@metafoo.co.uk>
Wed, 17 Sep 2014 23:57:05 +0000 (23:57 +0000)
commitfc3b7aaae094fccb1a8a39a5cb27cf6d4c0816e2
tree05e33f58bfc5d4ebae918581253b9fd737d7f8e9
parent381a99ee4c8448750680790056b65b89290e4e60
Instantiate exception specifications when instantiating function types (other
than the type of a function declaration). We previously didn't instantiate
these at all! This also covers the pathological case where the only mention of
a parameter pack is within the exception specification; this gives us a second
way (other than alias templates) to reach the horrible state where a type
contains an unexpanded pack, but its canonical type does not.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@217995 91177308-0d34-0410-b5e6-96231b3b80d8
15 files changed:
include/clang/AST/DataRecursiveASTVisitor.h
include/clang/AST/Expr.h
include/clang/AST/RecursiveASTVisitor.h
include/clang/AST/Type.h
include/clang/Sema/Sema.h
lib/AST/Type.cpp
lib/Sema/SemaDeclCXX.cpp
lib/Sema/SemaExceptionSpec.cpp
lib/Sema/SemaTemplateInstantiate.cpp
lib/Sema/SemaTemplateInstantiateDecl.cpp
lib/Sema/SemaType.cpp
lib/Sema/TreeTransform.h
test/CXX/except/except.spec/p1.cpp
test/SemaTemplate/instantiate-exception-spec-cxx11.cpp
test/SemaTemplate/instantiate-exception-spec.cpp