alexander-shaposhnikov created this revision. alexander-shaposhnikov added reviewers: gribozavr2, njames93, alexfh. alexander-shaposhnikov created this object with visibility "All Users". Herald added subscribers: carlosgalvezp, xazax.hun. Herald added a project: All. alexander-shaposhnikov requested review of this revision. Herald added a project: clang-tools-extra. Herald added a subscriber: cfe-commits.
Skip variadic constructors in modernize-use-equals-default (such constructors cannot be explicitly defaulted). Test plan: ninja check-all Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D134929 Files: clang-tools-extra/clang-tidy/modernize/UseEqualsDefaultCheck.cpp clang-tools-extra/test/clang-tidy/checkers/modernize/use-equals-default.cpp Index: clang-tools-extra/test/clang-tidy/checkers/modernize/use-equals-default.cpp =================================================================== --- clang-tools-extra/test/clang-tidy/checkers/modernize/use-equals-default.cpp +++ clang-tools-extra/test/clang-tidy/checkers/modernize/use-equals-default.cpp @@ -53,6 +53,11 @@ }; }; +// Skip variadic constructors. +struct VA { + VA(...) {} +}; + // Initializer or arguments. class IA { public: Index: clang-tools-extra/clang-tidy/modernize/UseEqualsDefaultCheck.cpp =================================================================== --- clang-tools-extra/clang-tidy/modernize/UseEqualsDefaultCheck.cpp +++ clang-tools-extra/clang-tidy/modernize/UseEqualsDefaultCheck.cpp @@ -235,7 +235,7 @@ anyOf( // Default constructor. allOf(unless(hasAnyConstructorInitializer(isWritten())), - parameterCountIs(0)), + unless(isVariadic()), parameterCountIs(0)), // Copy constructor. allOf(isCopyConstructor(), // Discard constructors that can be used as a copy
Index: clang-tools-extra/test/clang-tidy/checkers/modernize/use-equals-default.cpp =================================================================== --- clang-tools-extra/test/clang-tidy/checkers/modernize/use-equals-default.cpp +++ clang-tools-extra/test/clang-tidy/checkers/modernize/use-equals-default.cpp @@ -53,6 +53,11 @@ }; }; +// Skip variadic constructors. +struct VA { + VA(...) {} +}; + // Initializer or arguments. class IA { public: Index: clang-tools-extra/clang-tidy/modernize/UseEqualsDefaultCheck.cpp =================================================================== --- clang-tools-extra/clang-tidy/modernize/UseEqualsDefaultCheck.cpp +++ clang-tools-extra/clang-tidy/modernize/UseEqualsDefaultCheck.cpp @@ -235,7 +235,7 @@ anyOf( // Default constructor. allOf(unless(hasAnyConstructorInitializer(isWritten())), - parameterCountIs(0)), + unless(isVariadic()), parameterCountIs(0)), // Copy constructor. allOf(isCopyConstructor(), // Discard constructors that can be used as a copy
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits