Index: clang/lib/Format/UnwrappedLineParser.cpp =================================================================== --- clang/lib/Format/UnwrappedLineParser.cpp +++ clang/lib/Format/UnwrappedLineParser.cpp @@ -1029,6 +1029,10 @@ addUnwrappedLine(); return; } + if (FormatTok->is(TT_StatementMacro)) { + parseCaseLabel(); + return; + } switch (FormatTok->Tok.getKind()) { case tok::kw_asm: nextToken(); @@ -2243,7 +2247,8 @@ } void UnwrappedLineParser::parseCaseLabel() { - assert(FormatTok->Tok.is(tok::kw_case) && "'case' expected"); + assert((FormatTok->Tok.is(tok::kw_case) && "'case' expected") || + FormatTok->is(TT_StatementMacro)); // FIXME: fix handling of complex expressions here. do { nextToken();