aboutsummaryrefslogtreecommitdiff
path: root/src/all_types.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/all_types.hpp')
-rw-r--r--src/all_types.hpp12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/all_types.hpp b/src/all_types.hpp
index 8612647574..df7b8b5493 100644
--- a/src/all_types.hpp
+++ b/src/all_types.hpp
@@ -2041,18 +2041,25 @@ struct ScopeCImport {
Buf buf;
};
+enum LVal {
+ LValNone,
+ LValPtr,
+};
+
// This scope is created for a loop such as for or while in order to
// make break and continue statements work.
// NodeTypeForExpr or NodeTypeWhileExpr
struct ScopeLoop {
Scope base;
+ LVal lval;
Buf *name;
IrBasicBlock *break_block;
IrBasicBlock *continue_block;
IrInstruction *is_comptime;
ZigList<IrInstruction *> *incoming_values;
ZigList<IrBasicBlock *> *incoming_blocks;
+ ResultLoc *result_loc;
};
// This scope blocks certain things from working such as comptime continue
@@ -2143,11 +2150,6 @@ struct IrBasicBlock {
IrInstruction *must_be_comptime_source_instr;
};
-enum LVal {
- LValNone,
- LValPtr,
-};
-
// These instructions are in transition to having "pass 1" instructions
// and "pass 2" instructions. The pass 1 instructions are suffixed with Src
// and pass 2 are suffixed with Gen.