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");


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");
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to