diff options
author | Manuel Klimek <klimek@google.com> | 2013-02-06 16:40:56 +0000 |
---|---|---|
committer | Manuel Klimek <klimek@google.com> | 2013-02-06 16:40:56 +0000 |
commit | b3507cd01ead99113eed92a815b826f26f6dbadb (patch) | |
tree | 8bdee5bf2b84d696224b602043d3a41d12d8d43a /unittests/Format/FormatTest.cpp | |
parent | 7fc2db0acd3fb0f38db19764eef137ae3a9edc9f (diff) |
Fix handling of comments in macros.
We now correctly format:
// Written as a macro, it is reformatted from:
#define foo(a) \
do { \
/* Initialize num to zero. */ \
int num = 10; \
/* This line ensures a is never zero. */ \
int i = a == 0 ? 1 : a; \
i = num / i; /* This division is OK. */ \
return i; \
} while (false)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174517 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'unittests/Format/FormatTest.cpp')
-rw-r--r-- | unittests/Format/FormatTest.cpp | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/unittests/Format/FormatTest.cpp b/unittests/Format/FormatTest.cpp index 4dc6ea7592..d2a1bef35b 100644 --- a/unittests/Format/FormatTest.cpp +++ b/unittests/Format/FormatTest.cpp @@ -1987,6 +1987,32 @@ TEST_F(FormatTest, BlockComments) { " aaaaaaaaaaaaaaaaaaaaaaaaaaaa || aaaaaaaaaaaaaaaaaaaaaaaaaa;")); } +TEST_F(FormatTest, BlockCommentsInMacros) { + EXPECT_EQ("#define A \\\n" + " { \\\n" + " /* one line */ \\\n" + " someCall();", + format("#define A { \\\n" + " /* one line */ \\\n" + " someCall();", getLLVMStyleWithColumns(20))); + EXPECT_EQ("#define A \\\n" + " { \\\n" + " /* previous */ \\\n" + " /* one line */ \\\n" + " someCall();", + format("#define A { \\\n" + " /* previous */ \\\n" + " /* one line */ \\\n" + " someCall();", getLLVMStyleWithColumns(20))); +} + +TEST_F(FormatTest, IndentLineCommentsInStartOfBlockAtEndOfFile) { + // FIXME: This is not what we want... + verifyFormat("{\n" + "// a" + "// b"); +} + TEST_F(FormatTest, FormatStarDependingOnContext) { verifyFormat("void f(int *a);"); verifyFormat("void f() { f(fint * b); }"); |