Эх сурвалжийг харах

In DeclPrint add printing of '= default'
in constructors.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169440 91177308-0d34-0410-b5e6-96231b3b80d8

Fariborz Jahanian 12 жил өмнө
parent
commit
ddb2968ba6

+ 2 - 0
lib/AST/DeclPrinter.cpp

@@ -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

+ 2 - 2
unittests/AST/DeclPrinterTest.cpp

@@ -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) {