[Driver] Fix use after free in Hexagon toolchain code.
No functionality change intended.
llvm-svn: 316127
diff --git a/clang/lib/Driver/ToolChains/Hexagon.cpp b/clang/lib/Driver/ToolChains/Hexagon.cpp
index ea100fb..d4ab5dc 100644
--- a/clang/lib/Driver/ToolChains/Hexagon.cpp
+++ b/clang/lib/Driver/ToolChains/Hexagon.cpp
@@ -28,8 +28,8 @@
using namespace llvm::opt;
// Default hvx-length for various versions.
-static std::string getDefaultHvxLength(const StringRef &Cpu) {
- return llvm::StringSwitch<std::string>(Cpu)
+static StringRef getDefaultHvxLength(StringRef Cpu) {
+ return llvm::StringSwitch<StringRef>(Cpu)
.Case("v60", "64b")
.Case("v62", "64b")
.Default("128b");
@@ -93,7 +93,7 @@
}
// Default hvx-length based on Cpu.
else if (HasHVX)
- HVXLength = StringRef(getDefaultHvxLength(Cpu));
+ HVXLength = getDefaultHvxLength(Cpu);
if (!HVXLength.empty()) {
HVXFeature =