================
@@ -470,11 +470,18 @@ 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();
+ std::string EnumBegin = "enum {";
+ EnumBegin += LineEnding;
+ std::string EnumEnd = "};";
+ EnumEnd += LineEnding;
+
Begin = SM.translateLineCol(SM.getFileID(Begin),
SM.getSpellingLineNumber(Begin), 1);
const DiagnosticBuilder Diagnostic =
Check->diag(Begin, "replace macro with enum")
- << FixItHint::CreateInsertion(Begin, "enum {\n");
+ << FixItHint::CreateInsertion(Begin, EnumBegin);
----------------
vbvictor wrote:
Can we do `"enum {" + LineEnding` here instead of temporal variables.
I'd advocate for shorter variables scope if possible
https://github.com/llvm/llvm-project/pull/202054
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits