This revision was automatically updated to reflect the committed changes. Closed by commit rG7a4b12e39b84: [clang-tidy] Exclude delegate constructors in cppcoreguidelines-prefer-member… (authored by PiotrZSL).
Changed prior to commit: https://reviews.llvm.org/D157242?vs=547607&id=547649#toc Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D157242/new/ https://reviews.llvm.org/D157242 Files: clang-tools-extra/clang-tidy/cppcoreguidelines/PreferMemberInitializerCheck.cpp clang-tools-extra/docs/ReleaseNotes.rst clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/prefer-member-initializer.cpp Index: clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/prefer-member-initializer.cpp =================================================================== --- clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/prefer-member-initializer.cpp +++ clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/prefer-member-initializer.cpp @@ -563,3 +563,10 @@ // CHECK-FIXES: ASSIGN_IN_MACRO(n, 0) } }; + +struct PR52818 { + PR52818() : bar(5) {} + PR52818(int) : PR52818() { bar = 3; } + + int bar; +}; Index: clang-tools-extra/docs/ReleaseNotes.rst =================================================================== --- clang-tools-extra/docs/ReleaseNotes.rst +++ clang-tools-extra/docs/ReleaseNotes.rst @@ -172,6 +172,10 @@ to ignore ``static`` variables declared within the scope of ``class``/``struct``. +- Improved :doc:`cppcoreguidelines-prefer-member-initializer + <clang-tidy/checks/cppcoreguidelines/prefer-member-initializer>` check to + ignore delegate constructors. + - Improved :doc:`llvm-namespace-comment <clang-tidy/checks/llvm/namespace-comment>` check to provide fixes for ``inline`` namespaces in the same format as :program:`clang-format`. Index: clang-tools-extra/clang-tidy/cppcoreguidelines/PreferMemberInitializerCheck.cpp =================================================================== --- clang-tools-extra/clang-tidy/cppcoreguidelines/PreferMemberInitializerCheck.cpp +++ clang-tools-extra/clang-tidy/cppcoreguidelines/PreferMemberInitializerCheck.cpp @@ -141,10 +141,11 @@ } void PreferMemberInitializerCheck::registerMatchers(MatchFinder *Finder) { - Finder->addMatcher( - cxxConstructorDecl(hasBody(compoundStmt()), unless(isInstantiated())) - .bind("ctor"), - this); + Finder->addMatcher(cxxConstructorDecl(hasBody(compoundStmt()), + unless(isInstantiated()), + unless(isDelegatingConstructor())) + .bind("ctor"), + this); } void PreferMemberInitializerCheck::check(
Index: clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/prefer-member-initializer.cpp =================================================================== --- clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/prefer-member-initializer.cpp +++ clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/prefer-member-initializer.cpp @@ -563,3 +563,10 @@ // CHECK-FIXES: ASSIGN_IN_MACRO(n, 0) } }; + +struct PR52818 { + PR52818() : bar(5) {} + PR52818(int) : PR52818() { bar = 3; } + + int bar; +}; Index: clang-tools-extra/docs/ReleaseNotes.rst =================================================================== --- clang-tools-extra/docs/ReleaseNotes.rst +++ clang-tools-extra/docs/ReleaseNotes.rst @@ -172,6 +172,10 @@ to ignore ``static`` variables declared within the scope of ``class``/``struct``. +- Improved :doc:`cppcoreguidelines-prefer-member-initializer + <clang-tidy/checks/cppcoreguidelines/prefer-member-initializer>` check to + ignore delegate constructors. + - Improved :doc:`llvm-namespace-comment <clang-tidy/checks/llvm/namespace-comment>` check to provide fixes for ``inline`` namespaces in the same format as :program:`clang-format`. Index: clang-tools-extra/clang-tidy/cppcoreguidelines/PreferMemberInitializerCheck.cpp =================================================================== --- clang-tools-extra/clang-tidy/cppcoreguidelines/PreferMemberInitializerCheck.cpp +++ clang-tools-extra/clang-tidy/cppcoreguidelines/PreferMemberInitializerCheck.cpp @@ -141,10 +141,11 @@ } void PreferMemberInitializerCheck::registerMatchers(MatchFinder *Finder) { - Finder->addMatcher( - cxxConstructorDecl(hasBody(compoundStmt()), unless(isInstantiated())) - .bind("ctor"), - this); + Finder->addMatcher(cxxConstructorDecl(hasBody(compoundStmt()), + unless(isInstantiated()), + unless(isDelegatingConstructor())) + .bind("ctor"), + this); } void PreferMemberInitializerCheck::check(
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits