Author: Nathan James Date: 2021-03-15T14:20:48Z New Revision: 0333dde923c42219863f314d6c9fc0dcd352ef02
URL: https://github.com/llvm/llvm-project/commit/0333dde923c42219863f314d6c9fc0dcd352ef02 DIFF: https://github.com/llvm/llvm-project/commit/0333dde923c42219863f314d6c9fc0dcd352ef02.diff LOG: [clang-tidy] Fix readability-identifer-naming duplicating prefix or suffix for replacements. If a identifier has a correct prefix/suffix but a bad case, the fix won't strip them when computing the correct case, leading to duplication when the are added back. Reviewed By: aaron.ballman Differential Revision: https://reviews.llvm.org/D98521 Added: Modified: clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp clang-tools-extra/test/clang-tidy/checkers/readability-identifier-naming.cpp Removed: ################################################################################ diff --git a/clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp b/clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp index 09b3cc25678c..12853fa14823 100644 --- a/clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp +++ b/clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp @@ -407,6 +407,8 @@ static bool isParamInMainLikeFunction(const ParmVarDecl &ParmDecl, static std::string fixupWithStyle(StringRef Name, const IdentifierNamingCheck::NamingStyle &Style) { + Name.consume_front(Style.Prefix); + Name.consume_back(Style.Suffix); const std::string Fixed = fixupWithCase( Name, Style.Case.getValueOr(IdentifierNamingCheck::CaseType::CT_AnyCase)); StringRef Mid = StringRef(Fixed).trim("_"); diff --git a/clang-tools-extra/test/clang-tidy/checkers/readability-identifier-naming.cpp b/clang-tools-extra/test/clang-tidy/checkers/readability-identifier-naming.cpp index f66202ecd11b..11ffc6c16615 100644 --- a/clang-tools-extra/test/clang-tidy/checkers/readability-identifier-naming.cpp +++ b/clang-tools-extra/test/clang-tidy/checkers/readability-identifier-naming.cpp @@ -148,6 +148,10 @@ int global3; int g_twice_global3 = ADD_TO_SELF(global3); // CHECK-FIXES: {{^}}int g_twice_global3 = ADD_TO_SELF(g_global3);{{$}} +int g_Global4; +// CHECK-MESSAGES: :[[@LINE-1]]:5: warning: invalid case style for global variable 'g_Global4' +// CHECK-FIXES: {{^}}int g_global4;{{$}} + enum my_enumeration { // CHECK-MESSAGES: :[[@LINE-1]]:6: warning: invalid case style for enum 'my_enumeration' // CHECK-FIXES: {{^}}enum EMyEnumeration {{{$}} @@ -544,6 +548,9 @@ unsigned const MyConstGlobal_array[] = {1,2,3}; // CHECK-FIXES: {{^}}unsigned const MY_CONST_GLOBAL_ARRAY[] = {1,2,3};{{$}} int * MyGlobal_Ptr;// -> ok +int * my_second_global_Ptr; +// CHECK-MESSAGES: :[[@LINE-1]]:7: warning: invalid case style for global pointer 'my_second_global_Ptr' +// CHECK-FIXES: {{^}}int * MySecondGlobal_Ptr;{{$}} int * const MyConstantGlobalPointer = nullptr; // CHECK-MESSAGES: :[[@LINE-1]]:13: warning: invalid case style for global constant pointer 'MyConstantGlobalPointer' // CHECK-FIXES: {{^}}int * const MY_CONSTANT_GLOBAL_POINTER_Ptr = nullptr;{{$}} _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits