Author: Zeyi Xu Date: 2026-06-08T10:46:45+08:00 New Revision: cc52760a990f45f24def4e8b10bb031e06b5127c
URL: https://github.com/llvm/llvm-project/commit/cc52760a990f45f24def4e8b10bb031e06b5127c DIFF: https://github.com/llvm/llvm-project/commit/cc52760a990f45f24def4e8b10bb031e06b5127c.diff LOG: Revert "[clang-tidy] Preserve line endings in macro-to-enum fixes" (#202247) This commit encountered PCH related errors on buildbot, so revert it for now. Added: Modified: clang-tools-extra/clang-tidy/modernize/MacroToEnumCheck.cpp clang-tools-extra/docs/ReleaseNotes.rst clang-tools-extra/test/.gitattributes Removed: clang-tools-extra/test/clang-tidy/checkers/modernize/Inputs/macro-to-enum/crlf.cpp clang-tools-extra/test/clang-tidy/checkers/modernize/Inputs/macro-to-enum/crlf.cpp.expected clang-tools-extra/test/clang-tidy/checkers/modernize/macro-to-enum-crlf.cpp ################################################################################ diff --git a/clang-tools-extra/clang-tidy/modernize/MacroToEnumCheck.cpp b/clang-tools-extra/clang-tidy/modernize/MacroToEnumCheck.cpp index aa4732ceba7e0..1c49c32f9fecb 100644 --- a/clang-tools-extra/clang-tidy/modernize/MacroToEnumCheck.cpp +++ b/clang-tools-extra/clang-tidy/modernize/MacroToEnumCheck.cpp @@ -470,15 +470,11 @@ void MacroToEnumCallbacks::warnMacroEnum(const EnumMacro &Macro) const { void MacroToEnumCallbacks::fixEnumMacro(const MacroList &MacroList) const { SourceLocation Begin = MacroList.front().Directive->getMacroInfo()->getDefinitionLoc(); - const StringRef LineEnding = - SM.getBufferData(SM.getFileID(Begin)).detectEOL(); - Begin = SM.translateLineCol(SM.getFileID(Begin), SM.getSpellingLineNumber(Begin), 1); const DiagnosticBuilder Diagnostic = Check->diag(Begin, "replace macro with enum") - << FixItHint::CreateInsertion(Begin, - (llvm::Twine("enum {") + LineEnding).str()); + << FixItHint::CreateInsertion(Begin, "enum {\n"); for (size_t I = 0U; I < MacroList.size(); ++I) { const EnumMacro &Macro = MacroList[I]; @@ -507,8 +503,7 @@ void MacroToEnumCallbacks::fixEnumMacro(const MacroList &MacroList) const { LangOpts); End = SM.translateLineCol(SM.getFileID(End), SM.getSpellingLineNumber(End) + 1, 1); - Diagnostic << FixItHint::CreateInsertion( - End, (llvm::Twine("};") + LineEnding).str()); + Diagnostic << FixItHint::CreateInsertion(End, "};\n"); } void MacroToEnumCheck::registerPPCallbacks(const SourceManager &SM, diff --git a/clang-tools-extra/docs/ReleaseNotes.rst b/clang-tools-extra/docs/ReleaseNotes.rst index c369b1fd8b373..9703bb8f17208 100644 --- a/clang-tools-extra/docs/ReleaseNotes.rst +++ b/clang-tools-extra/docs/ReleaseNotes.rst @@ -581,10 +581,6 @@ Changes in existing checks positives on project headers that use the same name as a standard library header. -- Improved :doc:`modernize-macro-to-enum - <clang-tidy/checks/modernize/macro-to-enum>` check by preserving source file - line endings in fix-it replacements. - - Improved :doc:`modernize-pass-by-value <clang-tidy/checks/modernize/pass-by-value>` check by adding `IgnoreMacros` option to suppress warnings in macros. diff --git a/clang-tools-extra/test/.gitattributes b/clang-tools-extra/test/.gitattributes index 3c39030a95eab..3d4df1e9976bc 100644 --- a/clang-tools-extra/test/.gitattributes +++ b/clang-tools-extra/test/.gitattributes @@ -13,5 +13,3 @@ clang-tidy/infrastructure/export-diagnostics.cpp -text # These test input files rely on two-byte Windows (CRLF) line endings. clang-apply-replacements/Inputs/crlf/crlf.cpp -text clang-apply-replacements/Inputs/crlf/crlf.cpp.expected -text -clang-tidy/checkers/modernize/Inputs/macro-to-enum/crlf.cpp -text -clang-tidy/checkers/modernize/Inputs/macro-to-enum/crlf.cpp.expected -text diff --git a/clang-tools-extra/test/clang-tidy/checkers/modernize/Inputs/macro-to-enum/crlf.cpp b/clang-tools-extra/test/clang-tidy/checkers/modernize/Inputs/macro-to-enum/crlf.cpp deleted file mode 100644 index c05d3cd5823ba..0000000000000 --- a/clang-tools-extra/test/clang-tidy/checkers/modernize/Inputs/macro-to-enum/crlf.cpp +++ /dev/null @@ -1,2 +0,0 @@ -#define RED 1 -#define GREEN 2 diff --git a/clang-tools-extra/test/clang-tidy/checkers/modernize/Inputs/macro-to-enum/crlf.cpp.expected b/clang-tools-extra/test/clang-tidy/checkers/modernize/Inputs/macro-to-enum/crlf.cpp.expected deleted file mode 100644 index 31100df321bb3..0000000000000 --- a/clang-tools-extra/test/clang-tidy/checkers/modernize/Inputs/macro-to-enum/crlf.cpp.expected +++ /dev/null @@ -1,4 +0,0 @@ -enum { -RED = 1, -GREEN = 2 -}; diff --git a/clang-tools-extra/test/clang-tidy/checkers/modernize/macro-to-enum-crlf.cpp b/clang-tools-extra/test/clang-tidy/checkers/modernize/macro-to-enum-crlf.cpp deleted file mode 100644 index ae54e5b7fe430..0000000000000 --- a/clang-tools-extra/test/clang-tidy/checkers/modernize/macro-to-enum-crlf.cpp +++ /dev/null @@ -1,6 +0,0 @@ -// Verify the fix-it preserves CRLF line endings. - -// RUN: cp %S/Inputs/macro-to-enum/crlf.cpp %t.cpp -// RUN: chmod u+w %t.cpp -// RUN: clang-tidy %t.cpp -fix --checks='-*,modernize-macro-to-enum' > %t.out 2>&1 -// RUN: diff %t.cpp %S/Inputs/macro-to-enum/crlf.cpp.expected _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
