[cfe-dev] D52529: Propose to delete -print-decl-contexts
Fāng-ruì Sòng via cfe-dev
cfe-dev at lists.llvm.org
Mon Oct 1 15:50:23 PDT 2018
clang++ -fsyntax-only -Xclang -print-decl-contexts a.cc
clang++ -fsyntax-only -Xclang -ast-dump a.cc
-print-decl-contexts (DeclContextPrinter) is a cc1 option that dumps
AST nodes in the following manner:
// lib/Frontend/ASTConsumers.cpp
case Decl::Using:
Out << "<using> " << *cast<UsingDecl>(I) << "\n";
break;
case Decl::UsingShadow:
Out << "<using shadow> " << *cast<UsingShadowDecl>(I) << "\n";
break;
It lacks handling of many AST nodes which will lead to llvm_unreachable() crash.
default:
Out << "DeclKind: " << DK << '"' << I << "\"\n";
llvm_unreachable("decl unhandled");
I tried handling other cases with clang/AST/DeclNodes.inc but then
realized that deleting it might be better as it is a rarely used
feature (not actively maintained and easy to crash). Its functionality
is mostly covered by -ast-dump (which is a bit verbose)
-ast-dump-lookups -ast-list
I have sent out D52529 for deleting -print-decl-contexts and will commit
it if nobody opposes.
--
宋方睿
More information about the cfe-dev
mailing list