This revision was automatically updated to reflect the committed changes. Closed by commit rL323208: [clang-tidy] Handle bitfields in modernize-use-default-member-init if using… (authored by malcolm.parsons, committed by ). Herald added a subscriber: llvm-commits.
Repository: rL LLVM https://reviews.llvm.org/D42413 Files: clang-tools-extra/trunk/clang-tidy/modernize/UseDefaultMemberInitCheck.cpp clang-tools-extra/trunk/test/clang-tidy/modernize-use-default-member-init-bitfield.cpp Index: clang-tools-extra/trunk/clang-tidy/modernize/UseDefaultMemberInitCheck.cpp =================================================================== --- clang-tools-extra/trunk/clang-tidy/modernize/UseDefaultMemberInitCheck.cpp +++ clang-tools-extra/trunk/clang-tidy/modernize/UseDefaultMemberInitCheck.cpp @@ -167,7 +167,9 @@ isDefaultConstructor(), unless(isInstantiated()), forEachConstructorInitializer( cxxCtorInitializer( - forField(unless(anyOf(isBitField(), + forField(unless(anyOf(getLangOpts().CPlusPlus2a + ? unless(anything()) + : isBitField(), hasInClassInitializer(anything()), hasParent(recordDecl(isUnion()))))), isWritten(), withInitializer(ignoringImplicit(Init))) Index: clang-tools-extra/trunk/test/clang-tidy/modernize-use-default-member-init-bitfield.cpp =================================================================== --- clang-tools-extra/trunk/test/clang-tidy/modernize-use-default-member-init-bitfield.cpp +++ clang-tools-extra/trunk/test/clang-tidy/modernize-use-default-member-init-bitfield.cpp @@ -0,0 +1,10 @@ +// RUN: %check_clang_tidy %s modernize-use-default-member-init %t -- -- -std=c++2a + +struct PositiveBitField +{ + PositiveBitField() : i(6) {} + // CHECK-FIXES: PositiveBitField() {} + int i : 5; + // CHECK-MESSAGES: :[[@LINE-1]]:7: warning: use default member initializer for 'i' [modernize-use-default-member-init] + // CHECK-FIXES: int i : 5{6}; +};
Index: clang-tools-extra/trunk/clang-tidy/modernize/UseDefaultMemberInitCheck.cpp =================================================================== --- clang-tools-extra/trunk/clang-tidy/modernize/UseDefaultMemberInitCheck.cpp +++ clang-tools-extra/trunk/clang-tidy/modernize/UseDefaultMemberInitCheck.cpp @@ -167,7 +167,9 @@ isDefaultConstructor(), unless(isInstantiated()), forEachConstructorInitializer( cxxCtorInitializer( - forField(unless(anyOf(isBitField(), + forField(unless(anyOf(getLangOpts().CPlusPlus2a + ? unless(anything()) + : isBitField(), hasInClassInitializer(anything()), hasParent(recordDecl(isUnion()))))), isWritten(), withInitializer(ignoringImplicit(Init))) Index: clang-tools-extra/trunk/test/clang-tidy/modernize-use-default-member-init-bitfield.cpp =================================================================== --- clang-tools-extra/trunk/test/clang-tidy/modernize-use-default-member-init-bitfield.cpp +++ clang-tools-extra/trunk/test/clang-tidy/modernize-use-default-member-init-bitfield.cpp @@ -0,0 +1,10 @@ +// RUN: %check_clang_tidy %s modernize-use-default-member-init %t -- -- -std=c++2a + +struct PositiveBitField +{ + PositiveBitField() : i(6) {} + // CHECK-FIXES: PositiveBitField() {} + int i : 5; + // CHECK-MESSAGES: :[[@LINE-1]]:7: warning: use default member initializer for 'i' [modernize-use-default-member-init] + // CHECK-FIXES: int i : 5{6}; +};
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits