In DeclPrint add printing of '= default'
authorFariborz Jahanian <fjahanian@apple.com>
Wed, 5 Dec 2012 22:53:06 +0000 (22:53 +0000)
committerFariborz Jahanian <fjahanian@apple.com>
Wed, 5 Dec 2012 22:53:06 +0000 (22:53 +0000)
in constructors.

llvm-svn: 169440

clang/lib/AST/DeclPrinter.cpp
clang/unittests/AST/DeclPrinterTest.cpp

index a5e1378..f277f1f 100644 (file)
@@ -565,6 +565,8 @@ void DeclPrinter::VisitFunctionDecl(FunctionDecl *D) {
     Out << " = 0";
   else if (D->isDeletedAsWritten())
     Out << " = delete";
+  else if (D->isExplicitlyDefaulted())
+    Out << " = default";
   else if (D->doesThisDeclarationHaveABody() && !Policy.TerseOutput) {
     if (!D->hasPrototype() && D->getNumParams()) {
       // This is a K&R function definition, so we need to print the
index 2cb3a3f..50aab03 100644 (file)
@@ -476,8 +476,8 @@ TEST(DeclPrinter, TestCXXConstructorDecl8) {
     "  A() = default;"
     "};",
     constructorDecl(ofClass(hasName("A"))).bind("id"),
-    "A() noexcept"));
-    // WRONG; Should be: "A() = default;"
+    "A() noexcept = default"));
+    // Should be: "A() = default;" if we care about noexcept as written
 }
 
 TEST(DeclPrinter, TestCXXConstructorDecl9) {