diff options
author | Manuel Klimek <klimek@google.com> | 2013-01-10 11:52:21 +0000 |
---|---|---|
committer | Manuel Klimek <klimek@google.com> | 2013-01-10 11:52:21 +0000 |
commit | bb42bf1a8bfd18fa2beec7fcbcb73f738fb455ba (patch) | |
tree | 0764c85a4a442a13ef3caa2d3d3c818db37d0758 /lib/Format/Format.cpp | |
parent | 5cf7cf317f684dc61b8a0e4476440b5635b80db4 (diff) |
Fix layout of blocks inside statements.
Previously, we would not indent:
SOME_MACRO({
int i;
});
correctly. This is fixed by adding the trailing }); to the unwrapped
line starting with SOME_MACRO({, so the formatter can correctly match
the braces and indent accordingly.
Also fixes incorrect parsing of initializer lists, like:
int a[] = { 1 };
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172058 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Format/Format.cpp')
-rw-r--r-- | lib/Format/Format.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/Format/Format.cpp b/lib/Format/Format.cpp index dfb43afafa..00a4b77980 100644 --- a/lib/Format/Format.cpp +++ b/lib/Format/Format.cpp @@ -279,7 +279,9 @@ private: if (Newline) { unsigned WhitespaceStartColumn = State.Column; - if (Previous.is(tok::l_brace)) { + if (Current.is(tok::r_brace)) { + State.Column = Line.Level * 2; + } else if (Previous.is(tok::l_brace)) { // FIXME: This does not work with nested static initializers. // Implement a better handling for static initializers and similar // constructs. |