Add raw_ostream operators to NamedDecl for convenience. Switch over all users of getNameAsString on a stream.

The next step is to print the name directly into the stream, avoiding a temporary std::string copy.

llvm-svn: 101632
diff --git a/clang/lib/AST/RecordLayoutBuilder.cpp b/clang/lib/AST/RecordLayoutBuilder.cpp
index 15ad11f..d1de70a 100644
--- a/clang/lib/AST/RecordLayoutBuilder.cpp
+++ b/clang/lib/AST/RecordLayoutBuilder.cpp
@@ -924,7 +924,7 @@
   // Vtable pointer.
   if (RD->isDynamicClass() && !PrimaryBase) {
     PrintOffset(OS, Offset, IndentLevel);
-    OS << '(' << RD->getNameAsString() << " vtable pointer)\n";
+    OS << '(' << RD << " vtable pointer)\n";
   }
   // Dump (non-virtual) bases
   for (CXXRecordDecl::base_class_const_iterator I = RD->bases_begin(),
@@ -961,8 +961,7 @@
     }
 
     PrintOffset(OS, FieldOffset, IndentLevel);
-    OS << Field->getType().getAsString() << ' ';
-    OS << Field->getNameAsString() << '\n';
+    OS << Field->getType().getAsString() << ' ' << Field << '\n';
   }
 
   if (!IncludeVirtualBases)