summaryrefslogtreecommitdiffstats
path: root/clang/lib/AST/ASTDumper.cpp
diff options
context:
space:
mode:
authorRichard Smith <richard-llvm@metafoo.co.uk>2013-05-17 02:09:46 +0000
committerRichard Smith <richard-llvm@metafoo.co.uk>2013-05-17 02:09:46 +0000
commitadaa01590071560b37c5a4833670a7781cb8f890 (patch)
tree727bcb4bcd883128ece8e85ccaf81d87427b2b5a /clang/lib/AST/ASTDumper.cpp
parentadeab5086e9f70d378734c7dbbcc2ae57a588a2a (diff)
downloadbcm5719-llvm-adaa01590071560b37c5a4833670a7781cb8f890.tar.gz
bcm5719-llvm-adaa01590071560b37c5a4833670a7781cb8f890.zip
AST dumping: if a declaration has an uncomputed or uninstantiated exception specification, include that in the dump.
llvm-svn: 182070
Diffstat (limited to 'clang/lib/AST/ASTDumper.cpp')
-rw-r--r--clang/lib/AST/ASTDumper.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/clang/lib/AST/ASTDumper.cpp b/clang/lib/AST/ASTDumper.cpp
index cd974f0d022..4a0173300d8 100644
--- a/clang/lib/AST/ASTDumper.cpp
+++ b/clang/lib/AST/ASTDumper.cpp
@@ -762,6 +762,19 @@ void ASTDumper::VisitFunctionDecl(const FunctionDecl *D) {
else if (D->isDeletedAsWritten())
OS << " delete";
+ if (const FunctionProtoType *FPT = D->getType()->getAs<FunctionProtoType>()) {
+ FunctionProtoType::ExtProtoInfo EPI = FPT->getExtProtoInfo();
+ switch (EPI.ExceptionSpecType) {
+ default: break;
+ case EST_Unevaluated:
+ OS << " noexcept-unevaluated " << EPI.ExceptionSpecDecl;
+ break;
+ case EST_Uninstantiated:
+ OS << " noexcept-uninstantiated " << EPI.ExceptionSpecTemplate;
+ break;
+ }
+ }
+
bool OldMoreChildren = hasMoreChildren();
const FunctionTemplateSpecializationInfo *FTSI =
D->getTemplateSpecializationInfo();
OpenPOWER on IntegriCloud