basic_block: Fix bogus GCC maybe-uninitialized warning

This commit is contained in:
MerryMage 2018-02-03 03:04:44 +00:00
parent 1fb0957aa3
commit 47661b746b
3 changed files with 3 additions and 3 deletions

View file

@ -84,7 +84,7 @@ const Block::InstructionList& Block::Instructions() const {
return instructions;
}
const Terminal& Block::GetTerminal() const {
Terminal Block::GetTerminal() const {
return terminal;
}

View file

@ -118,7 +118,7 @@ public:
const InstructionList& Instructions() const;
/// Gets the terminal instruction for this basic block.
const Terminal& GetTerminal() const;
Terminal GetTerminal() const;
/// Sets the terminal instruction for this basic block.
void SetTerminal(Terminal term);
/// Replaces the terminal instruction for this basic block.

View file

@ -66,7 +66,7 @@ restart:
bool should_continue = A64::TranslateSingleInstruction(block, location, instruction);
if (!should_continue && !is_last_inst)
goto restart;
if (!should_continue && boost::get<IR::Term::Interpret>(&block.GetTerminal()))
if (auto terminal = block.GetTerminal(); boost::get<IR::Term::Interpret>(&terminal))
goto restart;
for (const auto& ir_inst : block)
if (ir_inst.GetOpcode() == IR::Opcode::A64ExceptionRaised || ir_inst.GetOpcode() == IR::Opcode::A64CallSupervisor)