Skip to content

Commit 4560bac

Browse files
committed
Fix misuses of llvm::StringSwitch.
StringSwitch forms references to temporaries, so it cannot be stored into a local. (Really 'auto' is to blame here; see LLVM r276671.)
1 parent 5b3f2af commit 4560bac

File tree

2 files changed

+2
-2
lines changed

2 files changed

+2
-2
lines changed

lib/IRGen/GenBuiltin.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -487,7 +487,7 @@ if (Builtin.ID == BuiltinValueKind::id) { \
487487
auto underscore = BuiltinName.find('_');
488488
StringRef SubOp = BuiltinName.substr(0, underscore);
489489

490-
auto SubOpcode = StringSwitch<AtomicRMWInst::BinOp>(SubOp)
490+
AtomicRMWInst::BinOp SubOpcode = StringSwitch<AtomicRMWInst::BinOp>(SubOp)
491491
.Case("xchg", AtomicRMWInst::Xchg)
492492
.Case("add", AtomicRMWInst::Add)
493493
.Case("sub", AtomicRMWInst::Sub)

lib/SILOptimizer/PassManager/PassManager.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -664,7 +664,7 @@ void SILPassManager::addPass(PassKind Kind) {
664664
}
665665

666666
void SILPassManager::addPassForName(StringRef Name) {
667-
auto P = llvm::StringSwitch<PassKind>(Name)
667+
PassKind P = llvm::StringSwitch<PassKind>(Name)
668668
#define PASS(ID, NAME, DESCRIPTION) .Case(#ID, PassKind::ID)
669669
#include "swift/SILOptimizer/PassManager/Passes.def"
670670
;

0 commit comments

Comments
 (0)