[PATCH] D26964: Handle more declarations in DeclContextPrinter to fix -print-decl-contexts crashes
Alex Lorenz via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Tue Jan 3 04:18:10 PST 2017
This revision was automatically updated to reflect the committed changes.
Closed by commit rL290880: Handle FriendDecl in DeclContextPrinter (authored by arphaman).
Changed prior to commit:
https://reviews.llvm.org/D26964?vs=78848&id=82864#toc
Repository:
rL LLVM
https://reviews.llvm.org/D26964
Files:
cfe/trunk/lib/Frontend/ASTConsumers.cpp
cfe/trunk/test/Coverage/cxx-language-features.inc
Index: cfe/trunk/test/Coverage/cxx-language-features.inc
===================================================================
--- cfe/trunk/test/Coverage/cxx-language-features.inc
+++ cfe/trunk/test/Coverage/cxx-language-features.inc
@@ -25,3 +25,11 @@
template <E1 v> class C1 {};
template <E1 v> C1<v> f1() { return C1<v>(); }
void f2() { f1<EC1>(); }
+
+// Friend declarations
+struct FriendlyStruct {
+ friend bool operator==(FriendlyStruct, FriendlyStruct) { return true; }
+ friend struct FriendedStruct;
+};
+
+struct FriendedStruct { };
Index: cfe/trunk/lib/Frontend/ASTConsumers.cpp
===================================================================
--- cfe/trunk/lib/Frontend/ASTConsumers.cpp
+++ cfe/trunk/lib/Frontend/ASTConsumers.cpp
@@ -478,6 +478,13 @@
Out << "<omp threadprivate> " << '"' << I << "\"\n";
break;
}
+ case Decl::Friend: {
+ Out << "<friend>";
+ if (const NamedDecl *ND = cast<FriendDecl>(I)->getFriendDecl())
+ Out << ' ' << *ND;
+ Out << "\n";
+ break;
+ }
default:
Out << "DeclKind: " << DK << '"' << I << "\"\n";
llvm_unreachable("decl unhandled");
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D26964.82864.patch
Type: text/x-patch
Size: 1159 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20170103/3d873507/attachment-0001.bin>
More information about the cfe-commits
mailing list