[PATCH] D72373: [clang-tidy] extend misc-misplaced-const to detect using besides typedef
Aaron Ballman via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Thu Jan 16 06:23:33 PST 2020
aaron.ballman accepted this revision.
aaron.ballman added a comment.
This revision is now accepted and ready to land.
LGTM!
In D72373#1809080 <https://reviews.llvm.org/D72373#1809080>, @AlexanderLanin wrote:
> FIX-IT isn't quite that obvious. Some options:
>
> - look for other typedef which contains the same as const
> - create new typedef/using
> - remove "*" from typedef and adjust all usage accordingly. Implies removing "Ptr" suffix.
I think we can punt on the fixit for now as this is a good incremental improvement. Another possible option is to remove the `const` from the declaration using the typedef (there may be situations where you cannot add a new typedef or modify the existing one because the typedef is in a system header).
================
Comment at: clang-tools-extra/test/clang-tidy/checkers/misc-misplaced-const.cpp:2
+// RUN: %check_clang_tidy %s misc-misplaced-const %t -- -- -DUSING
+// RUN: %check_clang_tidy %s misc-misplaced-const %t -- -- -DTYPEDEF
+
----------------
AlexanderLanin wrote:
> is this good practice? I didn't want to duplicate everything here.
Yes, this is a good way to reduce duplication.
================
Comment at: clang-tools-extra/test/clang-tidy/checkers/misc-misplaced-const.cpp:32
+ // Potentially quite unexpectedly the int can be modified here
+ // CHECK-MESSAGES: :[[@LINE+1]]:23: warning: 'i' declared with a const-qualified {{.*}}; results in the type being 'int *const' instead of 'const int *'
+ if (const ptr_to_int i = 0) {
----------------
AlexanderLanin wrote:
> not sure how to remove the regex here without duplicating everything
I think the regex is reasonable enough.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D72373/new/
https://reviews.llvm.org/D72373
More information about the cfe-commits
mailing list