aboutsummaryrefslogtreecommitdiff
path: root/lib/Format/UnwrappedLineParser.cpp
diff options
context:
space:
mode:
authorManuel Klimek <klimek@google.com>2013-01-21 14:32:05 +0000
committerManuel Klimek <klimek@google.com>2013-01-21 14:32:05 +0000
commitd19dc2ddf3f8630cfdbefec490c0000c14bee6bd (patch)
tree79a5744331b0f09d907170e6ce77361d40ee55ee /lib/Format/UnwrappedLineParser.cpp
parent9c8c40e7334a59159392d020dd4339b86326ec00 (diff)
Fixes indent in linkage specification blocks.
We now indent: extern "C" { int a; } without additional indent inside the extern "C" block. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173045 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Format/UnwrappedLineParser.cpp')
-rw-r--r--lib/Format/UnwrappedLineParser.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/lib/Format/UnwrappedLineParser.cpp b/lib/Format/UnwrappedLineParser.cpp
index 7f9e97eab0..f1d08a6bdf 100644
--- a/lib/Format/UnwrappedLineParser.cpp
+++ b/lib/Format/UnwrappedLineParser.cpp
@@ -311,6 +311,18 @@ void UnwrappedLineParser::parseStructuralElement() {
case tok::kw_return:
parseReturn();
return;
+ case tok::kw_extern:
+ nextToken();
+ if (FormatTok.Tok.is(tok::string_literal)) {
+ nextToken();
+ if (FormatTok.Tok.is(tok::l_brace)) {
+ parseBlock(0);
+ addUnwrappedLine();
+ return;
+ }
+ }
+ // In all other cases, parse the declaration.
+ break;
default:
break;
}