diff options
-rw-r--r-- | lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp b/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp index e15d135..69e4fc2 100644 --- a/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp +++ b/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp @@ -1442,8 +1442,8 @@ AArch64AsmParser::IdentifyRegister(unsigned &RegNum, SMLoc &RegEndLoc, // gives us a permanent string to use in the token (a pointer into LowerReg // would go out of scope when we return). LayoutLoc = SMLoc::getFromPointer(S.getPointer() + DotPos + 1); - Layout = LowerReg.substr(DotPos, StringRef::npos); - Layout = StringSwitch<const char *>(Layout) + std::string LayoutText = LowerReg.substr(DotPos, StringRef::npos); + Layout = StringSwitch<const char *>(LayoutText) .Case(".d", ".d").Case(".1d", ".1d").Case(".2d", ".2d") .Case(".s", ".s").Case(".2s", ".2s").Case(".4s", ".4s") .Case(".h", ".h").Case(".4h", ".4h").Case(".8h", ".8h") |