[PATCH] D26118: [clang-tidy] Change readability-redundant-member-init to get base type from constructor
Malcolm Parsons via cfe-commits
cfe-commits at lists.llvm.org
Wed Nov 2 15:05:58 PDT 2016
malcolm.parsons updated this revision to Diff 76797.
malcolm.parsons added a comment.
Add test.
https://reviews.llvm.org/D26118
Files:
clang-tidy/readability/RedundantMemberInitCheck.cpp
test/clang-tidy/readability-redundant-member-init.cpp
Index: test/clang-tidy/readability-redundant-member-init.cpp
===================================================================
--- test/clang-tidy/readability-redundant-member-init.cpp
+++ test/clang-tidy/readability-redundant-member-init.cpp
@@ -87,6 +87,24 @@
// CHECK-FIXES: F7() {}
};
+namespace Foo {
+inline namespace Bar {
+template <int N>
+struct Template {
+ Template() = default;
+ int i = N;
+};
+}
+}
+
+enum { N_THINGS = 5 };
+
+struct F8 : Foo::Template<N_THINGS> {
+ F8() : Template() {}
+ // CHECK-MESSAGES: :[[@LINE-1]]:10: warning: initializer for base class 'Foo::Template<N_THINGS>' is redundant
+ // CHECK-FIXES: F8() {}
+};
+
// Initializer not written
struct NF1 {
NF1() {}
Index: clang-tidy/readability/RedundantMemberInitCheck.cpp
===================================================================
--- clang-tidy/readability/RedundantMemberInitCheck.cpp
+++ clang-tidy/readability/RedundantMemberInitCheck.cpp
@@ -54,7 +54,7 @@
} else {
diag(Init->getSourceLocation(),
"initializer for base class %0 is redundant")
- << Init->getTypeSourceInfo()->getType()
+ << Construct->getType()
<< FixItHint::CreateRemoval(Init->getSourceRange());
}
}
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D26118.76797.patch
Type: text/x-patch
Size: 1248 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20161102/021f1501/attachment.bin>
More information about the cfe-commits
mailing list