[clang-format] Detect constructor initializers preceded by `noexcept`.
authorDaniel Jasper <djasper@google.com>
Tue, 1 Mar 2016 21:41:58 +0000 (21:41 +0000)
committerDaniel Jasper <djasper@google.com>
Tue, 1 Mar 2016 21:41:58 +0000 (21:41 +0000)
Patch by Erik Kessler, thank you.

llvm-svn: 262402

clang/lib/Format/TokenAnnotator.cpp
clang/unittests/Format/FormatTest.cpp

index 7cb2c73..bc8d5c7 100644 (file)
@@ -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;
index 4872565..075757b 100644 (file)
@@ -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"