diff --git a/llvm/include/llvm/MC/MCContext.h b/llvm/include/llvm/MC/MCContext.h --- a/llvm/include/llvm/MC/MCContext.h +++ b/llvm/include/llvm/MC/MCContext.h @@ -687,15 +687,15 @@ const Twine &Msg); const MCAsmMacro *lookupMacro(StringRef Name) { - StringMap::iterator I = MacroMap.find(Name); + StringMap::iterator I = MacroMap.find(Name.lower()); return (I == MacroMap.end()) ? nullptr : &I->getValue(); } void defineMacro(StringRef Name, MCAsmMacro Macro) { - MacroMap.insert(std::make_pair(Name, std::move(Macro))); + MacroMap.insert(std::make_pair(Name.lower(), std::move(Macro))); } - void undefineMacro(StringRef Name) { MacroMap.erase(Name); } + void undefineMacro(StringRef Name) { MacroMap.erase(Name.lower()); } }; } // end namespace llvm diff --git a/llvm/test/MC/X86/macro_case.s b/llvm/test/MC/X86/macro_case.s new file mode 100644 --- /dev/null +++ b/llvm/test/MC/X86/macro_case.s @@ -0,0 +1,10 @@ +# RUN: llvm-mc -filetype=obj -triple=i386 %s -o /dev/null + +.macro mySum from=0, to=5 + .long \from + .if \to-\from + mySum "(\from+1)",\to + .endif + .endm + +Mysum 0,5