]> granicus.if.org Git - clang/commitdiff
[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.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@262402 91177308-0d34-0410-b5e6-96231b3b80d8

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

index 7cb2c73c3337f79f8868783428357c9b45330a52..bc8d5c7b6bf8167e330d0f33934cf13e7b0fd6b1 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 4872565e04ab97f1ed99315164fc9caff150bd49..075757b076134f123ee7eefd7d94c96c68247221 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"