alexfh added a comment.
Thanks for the fix! However, I'm not sure it's possible to correctly rewrite
code in all cases where macros are involved. See a couple of motivating
examples in the comment.
================
Comment at:
clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines-prefer-member-initializer.cpp:492
+
+#define MACRO1 struct InMacro1 { int i; InMacro1() { i = 0; } };
+// CHECK-MESSAGES: :[[@LINE-1]]:54: warning: 'i' should be initialized in a
member initializer of the constructor
[cppcoreguidelines-prefer-member-initializer]
----------------
Could you add tests where the field name comes from a macro argument and from
token pasting? Something along the lines of:
```
#define MACRO4(field) struct InMacro1 { int field; InMacro1() { field = 0; } }
MACRO4(q);
#define MACRO5(X) X
MACRO5(struct InMacro1 { int field; InMacro1() { field = 0; } });
#define MACRO6(field) struct InMacro1 { int qqq ## field; InMacro1() { qqq ##
field = 0; } }
MACRO6(q);
```
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D89380/new/
https://reviews.llvm.org/D89380
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits