summaryrefslogtreecommitdiffstats
path: root/clang/unittests/Format/FormatTest.cpp
diff options
context:
space:
mode:
authorKrasimir Georgiev <krasimir@google.com>2017-10-02 15:53:37 +0000
committerKrasimir Georgiev <krasimir@google.com>2017-10-02 15:53:37 +0000
commit6a1c9d51fa55131ba5964a622355e5e8bbce04c9 (patch)
treeff5c9d7d9d4a90404d9241e4daa6799a04440710 /clang/unittests/Format/FormatTest.cpp
parent65bde8806f7dad39fce95d09aa11d7cd11005bc6 (diff)
downloadbcm5719-llvm-6a1c9d51fa55131ba5964a622355e5e8bbce04c9.tar.gz
bcm5719-llvm-6a1c9d51fa55131ba5964a622355e5e8bbce04c9.zip
[clang-format] Fix regression about short functions after #else
Summary: This patch fixes a regression introduced in r312904, where the formatter confuses the `else` in `#else` with an `else` of an `if-else` statement. For example, formatting this code with google style ``` #ifdef A int f() {} #else int f() {} #endif ``` resulted in ``` #ifdef A int f() {} #else int f() { } #endif ``` Reviewers: sammccall Reviewed By: sammccall Subscribers: klimek, cfe-commits Differential Revision: https://reviews.llvm.org/D37973 llvm-svn: 314683
Diffstat (limited to 'clang/unittests/Format/FormatTest.cpp')
-rw-r--r--clang/unittests/Format/FormatTest.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/clang/unittests/Format/FormatTest.cpp b/clang/unittests/Format/FormatTest.cpp
index 8ef11cb3ddc..dadc0254c6d 100644
--- a/clang/unittests/Format/FormatTest.cpp
+++ b/clang/unittests/Format/FormatTest.cpp
@@ -7102,6 +7102,16 @@ TEST_F(FormatTest, SplitEmptyFunction) {
"}",
Style);
}
+TEST_F(FormatTest, KeepShortFunctionAfterPPElse) {
+ FormatStyle Style = getLLVMStyle();
+ Style.AllowShortFunctionsOnASingleLine = FormatStyle::SFS_All;
+ verifyFormat("#ifdef A\n"
+ "int f() {}\n"
+ "#else\n"
+ "int g() {}\n"
+ "#endif",
+ Style);
+}
TEST_F(FormatTest, SplitEmptyClass) {
FormatStyle Style = getLLVMStyle();
OpenPOWER on IntegriCloud