Author: rsmith Date: Wed Nov 2 18:57:18 2016 New Revision: 285869 URL: http://llvm.org/viewvc/llvm-project?rev=285869&view=rev Log: Teach clang-query to dump types. I couldn't find any existing tests for clang-query's dumping functionality. =(
Modified: cfe/trunk/include/clang/AST/Type.h cfe/trunk/include/clang/Basic/DiagnosticLexKinds.td cfe/trunk/lib/AST/ASTDumper.cpp cfe/trunk/lib/AST/ASTTypeTraits.cpp Modified: cfe/trunk/include/clang/AST/Type.h URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/Type.h?rev=285869&r1=285868&r2=285869&view=diff ============================================================================== --- cfe/trunk/include/clang/AST/Type.h (original) +++ cfe/trunk/include/clang/AST/Type.h Wed Nov 2 18:57:18 2016 @@ -985,6 +985,7 @@ public: void dump(const char *s) const; void dump() const; + void dump(llvm::raw_ostream &OS) const; void Profile(llvm::FoldingSetNodeID &ID) const { ID.AddPointer(getAsOpaquePtr()); @@ -2005,6 +2006,7 @@ public: } CanQualType getCanonicalTypeUnqualified() const; // in CanonicalType.h void dump() const; + void dump(llvm::raw_ostream &OS) const; friend class ASTReader; friend class ASTWriter; Modified: cfe/trunk/include/clang/Basic/DiagnosticLexKinds.td URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/DiagnosticLexKinds.td?rev=285869&r1=285868&r2=285869&view=diff ============================================================================== --- cfe/trunk/include/clang/Basic/DiagnosticLexKinds.td (original) +++ cfe/trunk/include/clang/Basic/DiagnosticLexKinds.td Wed Nov 2 18:57:18 2016 @@ -183,7 +183,7 @@ def ext_hex_constant_invalid : Extension def ext_hex_literal_invalid : Extension< "hexadecimal floating literals are a C++1z feature">, InGroup<CXX1z>; def warn_cxx1z_hex_literal : Warning< - "hexidecimal floating literals are incompatible with " + "hexadecimal floating literals are incompatible with " "C++ standards before C++1z">, InGroup<CXXPre1zCompatPedantic>, DefaultIgnore; def ext_binary_literal : Extension< Modified: cfe/trunk/lib/AST/ASTDumper.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/AST/ASTDumper.cpp?rev=285869&r1=285868&r2=285869&view=diff ============================================================================== --- cfe/trunk/lib/AST/ASTDumper.cpp (original) +++ cfe/trunk/lib/AST/ASTDumper.cpp Wed Nov 2 18:57:18 2016 @@ -2466,12 +2466,18 @@ void QualType::dump(const char *msg) con dump(); } -LLVM_DUMP_METHOD void QualType::dump() const { - ASTDumper Dumper(llvm::errs(), nullptr, nullptr); +LLVM_DUMP_METHOD void QualType::dump() const { dump(llvm::errs()); } + +LLVM_DUMP_METHOD void QualType::dump(llvm::raw_ostream &OS) const { + ASTDumper Dumper(OS, nullptr, nullptr); Dumper.dumpTypeAsChild(*this); } -LLVM_DUMP_METHOD void Type::dump() const { QualType(this, 0).dump(); } +LLVM_DUMP_METHOD void Type::dump() const { dump(llvm::errs()); } + +LLVM_DUMP_METHOD void Type::dump(llvm::raw_ostream &OS) const { + QualType(this, 0).dump(OS); +} //===----------------------------------------------------------------------===// // Decl method implementations Modified: cfe/trunk/lib/AST/ASTTypeTraits.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/AST/ASTTypeTraits.cpp?rev=285869&r1=285868&r2=285869&view=diff ============================================================================== --- cfe/trunk/lib/AST/ASTTypeTraits.cpp (original) +++ cfe/trunk/lib/AST/ASTTypeTraits.cpp Wed Nov 2 18:57:18 2016 @@ -135,6 +135,8 @@ void DynTypedNode::dump(llvm::raw_ostrea D->dump(OS); else if (const Stmt *S = get<Stmt>()) S->dump(OS, SM); + else if (const Type *T = get<Type>()) + T->dump(OS); else OS << "Unable to dump values of type " << NodeKind.asStringRef() << "\n"; } _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits