[cfe-commits] r162294 - in /cfe/trunk: lib/AST/DeclPrinter.cpp unittests/AST/DeclPrinterTest.cpp
Dmitri Gribenko
gribozavr at gmail.com
Tue Aug 21 10:47:25 PDT 2012
Author: gribozavr
Date: Tue Aug 21 12:47:24 2012
New Revision: 162294
URL: http://llvm.org/viewvc/llvm-project?rev=162294&view=rev
Log:
DeclPrinter, terse mode: don't print function bodies
Modified:
cfe/trunk/lib/AST/DeclPrinter.cpp
cfe/trunk/unittests/AST/DeclPrinterTest.cpp
Modified: cfe/trunk/lib/AST/DeclPrinter.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/AST/DeclPrinter.cpp?rev=162294&r1=162293&r2=162294&view=diff
==============================================================================
--- cfe/trunk/lib/AST/DeclPrinter.cpp (original)
+++ cfe/trunk/lib/AST/DeclPrinter.cpp Tue Aug 21 12:47:24 2012
@@ -553,7 +553,7 @@
Out << " = 0";
else if (D->isDeletedAsWritten())
Out << " = delete";
- else if (D->doesThisDeclarationHaveABody()) {
+ else if (D->doesThisDeclarationHaveABody() && !Policy.TerseOutput) {
if (!D->hasPrototype() && D->getNumParams()) {
// This is a K&R function definition, so we need to print the
// parameters.
Modified: cfe/trunk/unittests/AST/DeclPrinterTest.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/unittests/AST/DeclPrinterTest.cpp?rev=162294&r1=162293&r2=162294&view=diff
==============================================================================
--- cfe/trunk/unittests/AST/DeclPrinterTest.cpp (original)
+++ cfe/trunk/unittests/AST/DeclPrinterTest.cpp Tue Aug 21 12:47:24 2012
@@ -296,13 +296,30 @@
TEST(DeclPrinter, TestFunctionDecl2) {
ASSERT_TRUE(PrintedDeclMatches(
+ "void A() {}",
+ "A",
+ "void A()"));
+ // Should be: with semicolon
+}
+
+TEST(DeclPrinter, TestFunctionDecl3) {
+ ASSERT_TRUE(PrintedDeclMatches(
+ "void Z();"
+ "void A() { Z(); }",
+ "A",
+ "void A()"));
+ // Should be: with semicolon
+}
+
+TEST(DeclPrinter, TestFunctionDecl4) {
+ ASSERT_TRUE(PrintedDeclMatches(
"extern void A();",
"A",
"extern void A()"));
// Should be: with semicolon
}
-TEST(DeclPrinter, TestFunctionDecl3) {
+TEST(DeclPrinter, TestFunctionDecl5) {
ASSERT_TRUE(PrintedDeclMatches(
"static void A();",
"A",
@@ -310,7 +327,7 @@
// Should be: with semicolon
}
-TEST(DeclPrinter, TestFunctionDecl4) {
+TEST(DeclPrinter, TestFunctionDecl6) {
ASSERT_TRUE(PrintedDeclMatches(
"inline void A();",
"A",
@@ -318,7 +335,7 @@
// Should be: with semicolon
}
-TEST(DeclPrinter, TestFunctionDecl5) {
+TEST(DeclPrinter, TestFunctionDecl7) {
ASSERT_TRUE(PrintedDeclCXX11Matches(
"constexpr int A(int a);",
"A",
@@ -326,7 +343,7 @@
// WRONG; Should be: "constexpr int A(int a);"
}
-TEST(DeclPrinter, TestFunctionDecl6) {
+TEST(DeclPrinter, TestFunctionDecl8) {
ASSERT_TRUE(PrintedDeclMatches(
"void A(int a);",
"A",
@@ -334,7 +351,7 @@
// Should be: with semicolon
}
-TEST(DeclPrinter, TestFunctionDecl7) {
+TEST(DeclPrinter, TestFunctionDecl9) {
ASSERT_TRUE(PrintedDeclMatches(
"void A(...);",
"A",
@@ -342,7 +359,7 @@
// Should be: with semicolon
}
-TEST(DeclPrinter, TestFunctionDecl8) {
+TEST(DeclPrinter, TestFunctionDecl10) {
ASSERT_TRUE(PrintedDeclMatches(
"void A(int a, ...);",
"A",
@@ -350,7 +367,7 @@
// Should be: with semicolon
}
-TEST(DeclPrinter, TestFunctionDecl9) {
+TEST(DeclPrinter, TestFunctionDecl11) {
ASSERT_TRUE(PrintedDeclMatches(
"typedef long size_t;"
"typedef int *pInt;"
@@ -360,7 +377,7 @@
// Should be: with semicolon
}
-TEST(DeclPrinter, TestFunctionDecl10) {
+TEST(DeclPrinter, TestFunctionDecl12) {
ASSERT_TRUE(PrintedDeclMatches(
"void A(int a, int b = 0);",
"A",
@@ -368,7 +385,7 @@
// Should be: with semicolon
}
-TEST(DeclPrinter, TestFunctionDecl11) {
+TEST(DeclPrinter, TestFunctionDecl13) {
ASSERT_TRUE(PrintedDeclMatches(
"void (*A(int a))(int b);",
"A",
@@ -376,14 +393,14 @@
// Should be: with semicolon, with parameter name (?)
}
-TEST(DeclPrinter, TestFunctionDecl12) {
+TEST(DeclPrinter, TestFunctionDecl14) {
ASSERT_TRUE(PrintedDeclMatches(
"template<typename T>"
"void A(T t) { }"
"template<>"
"void A(int N) { }",
function(hasName("A"), isExplicitTemplateSpecialization()).bind("id"),
- "void A(int N) {\n}\n\n"));
+ "void A(int N)"));
// WRONG; Should be: "template <> void A(int N);"));
}
@@ -1004,8 +1021,8 @@
"template<typename T>"
"void A(T &t) { }",
functionTemplate(hasName("A")).bind("id"),
- "template <typename T> void A(T &t) {\n}\n\n"));
- // Should be: without body, with semicolon
+ "template <typename T> void A(T &t)"));
+ // Should be: with semicolon
}
TEST(DeclPrinter, TestFunctionTemplateDecl3) {
@@ -1031,8 +1048,8 @@
ASSERT_TRUE(PrintedDeclMatches(
"struct Z { template<typename T> void A(T t) {} };",
functionTemplate(hasName("A")).bind("id"),
- "template <typename T> void A(T t) {\n}\n\n"));
- // Should be: without body, with semicolon
+ "template <typename T> void A(T t)"));
+ // Should be: with semicolon
}
TEST(DeclPrinter, TestFunctionTemplateDecl6) {
@@ -1041,8 +1058,8 @@
" template<typename U> void A(U t) {}"
"};",
functionTemplate(hasName("A")).bind("id"),
- "template <typename U> void A(U t) {\n}\n\n"));
- // Should be: without body, with semicolon
+ "template <typename U> void A(U t)"));
+ // Should be: with semicolon
}
TEST(DeclPrinter, TestTemplateArgumentList1) {
More information about the cfe-commits
mailing list