forked from OSchip/llvm-project
[ClangFormat] 'try' of function-try-block doesn't obey BraceWrapping
It should respond to AfterFunction, not AfterControlStatement. Fixes PR39067 llvm-svn: 343305
This commit is contained in:
parent
47a8980afa
commit
cb5ffbed71
|
@ -1266,6 +1266,8 @@ void UnwrappedLineParser::parseStructuralElement() {
|
||||||
break;
|
break;
|
||||||
case tok::kw_try:
|
case tok::kw_try:
|
||||||
// We arrive here when parsing function-try blocks.
|
// We arrive here when parsing function-try blocks.
|
||||||
|
if (Style.BraceWrapping.AfterFunction)
|
||||||
|
addUnwrappedLine();
|
||||||
parseTryCatch();
|
parseTryCatch();
|
||||||
return;
|
return;
|
||||||
case tok::identifier: {
|
case tok::identifier: {
|
||||||
|
|
|
@ -2628,6 +2628,16 @@ TEST_F(FormatTest, MacroCallsWithoutTrailingSemicolon) {
|
||||||
" A(X x)\n"
|
" A(X x)\n"
|
||||||
" try : t(0) {} catch (...) {}\n"
|
" try : t(0) {} catch (...) {}\n"
|
||||||
"};"));
|
"};"));
|
||||||
|
FormatStyle Style = getLLVMStyle();
|
||||||
|
Style.BreakBeforeBraces = FormatStyle::BS_Custom;
|
||||||
|
Style.BraceWrapping.AfterControlStatement = true;
|
||||||
|
Style.BraceWrapping.AfterFunction = true;
|
||||||
|
EXPECT_EQ("void f()\n"
|
||||||
|
"try\n"
|
||||||
|
"{\n"
|
||||||
|
"}",
|
||||||
|
format("void f() try {\n"
|
||||||
|
"}", Style));
|
||||||
EXPECT_EQ("class SomeClass {\n"
|
EXPECT_EQ("class SomeClass {\n"
|
||||||
"public:\n"
|
"public:\n"
|
||||||
" SomeClass() EXCLUSIVE_LOCK_FUNCTION(mu_);\n"
|
" SomeClass() EXCLUSIVE_LOCK_FUNCTION(mu_);\n"
|
||||||
|
|
Loading…
Reference in New Issue