Correctly format macro with unfinished template declaration.
We can now format:
#define A template <typename T>
Before this created a segfault :-/.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@175533 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/unittests/Format/FormatTest.cpp b/unittests/Format/FormatTest.cpp
index fb388ab..3a1e9dc 100644
--- a/unittests/Format/FormatTest.cpp
+++ b/unittests/Format/FormatTest.cpp
@@ -378,12 +378,6 @@
verifyFormat("switch (test)\n"
" ;");
- // FIXME: Improve formatting of case labels in macros.
- verifyFormat("#define SOMECASES \\\n"
- "case 1: \\\n"
- " case 2\n",
- getLLVMStyleWithColumns(20));
-
verifyGoogleFormat("switch (x) {\n"
" case 1:\n"
" f();\n"
@@ -935,6 +929,16 @@
getLLVMStyleWithColumns(11)));
}
+TEST_F(FormatTest, MacroDefinitionsWithIncompleteCode) {
+ // FIXME: Improve formatting of case labels in macros.
+ verifyFormat("#define SOMECASES \\\n"
+ "case 1: \\\n"
+ " case 2\n",
+ getLLVMStyleWithColumns(20));
+
+ verifyFormat("#define A template <typename T>");
+}
+
TEST_F(FormatTest, IndentPreprocessorDirectivesAtZero) {
EXPECT_EQ("{\n {\n#define A\n }\n}", format("{{\n#define A\n}}"));
}