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
diff --git a/lib/AST/DeclPrinter.cpp b/lib/AST/DeclPrinter.cpp
index a5e1378..f277f1f 100644
--- a/lib/AST/DeclPrinter.cpp
+++ b/lib/AST/DeclPrinter.cpp
@@ -565,6 +565,8 @@
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
diff --git a/unittests/AST/DeclPrinterTest.cpp b/unittests/AST/DeclPrinterTest.cpp
index 2cb3a3f..50aab03 100644
--- a/unittests/AST/DeclPrinterTest.cpp
+++ b/unittests/AST/DeclPrinterTest.cpp
@@ -476,8 +476,8 @@
" 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) {