diff --git a/lib/Format/TokenAnnotator.cpp b/lib/Format/TokenAnnotator.cpp index 7cb2c73c3337f79f8868783428357c9b45330a52..bc8d5c7b6bf8167e330d0f33934cf13e7b0fd6b1 100644 --- a/lib/Format/TokenAnnotator.cpp +++ b/lib/Format/TokenAnnotator.cpp @@ -505,7 +505,7 @@ private: Tok->Type = TT_BitFieldColon; } else if (Contexts.size() == 1 && !Line.First->isOneOf(tok::kw_enum, tok::kw_case)) { - if (Tok->Previous->is(tok::r_paren)) + if (Tok->Previous->isOneOf(tok::r_paren, tok::kw_noexcept)) Tok->Type = TT_CtorInitializerColon; else Tok->Type = TT_InheritanceColon; diff --git a/unittests/Format/FormatTest.cpp b/unittests/Format/FormatTest.cpp index 4872565e04ab97f1ed99315164fc9caff150bd49..075757b076134f123ee7eefd7d94c96c68247221 100644 --- a/unittests/Format/FormatTest.cpp +++ b/unittests/Format/FormatTest.cpp @@ -10389,6 +10389,9 @@ TEST_F(FormatTest, BreakConstructorInitializersBeforeComma) { verifyFormat("SomeClass::Constructor()\n" " : a(a) {}", Style); + verifyFormat("SomeClass::Constructor() noexcept\n" + " : a(a) {}", + Style); verifyFormat("SomeClass::Constructor()\n" " : a(a)\n" " , b(b)\n"