Fix bug discovered with address sanitizer.
Now, this works again with an empty stack.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178779 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Format/Format.cpp b/lib/Format/Format.cpp
index 1e0178e..d6aa6a9 100644
--- a/lib/Format/Format.cpp
+++ b/lib/Format/Format.cpp
@@ -927,11 +927,11 @@
}
// Remove scopes created by fake parenthesis.
- unsigned VariablePos = State.Stack.back().VariablePos;
for (unsigned i = 0, e = Current.FakeRParens; i != e; ++i) {
+ unsigned VariablePos = State.Stack.back().VariablePos;
State.Stack.pop_back();
+ State.Stack.back().VariablePos = VariablePos;
}
- State.Stack.back().VariablePos = VariablePos;
if (Current.is(tok::string_literal)) {
State.StartOfStringLiteral = State.Column;