diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/mir/check_full.cpp | 7 | ||||
-rw-r--r-- | src/mir/from_hir_match.cpp | 16 | ||||
-rw-r--r-- | src/mir/mir_builder.cpp | 2 | ||||
-rw-r--r-- | src/trans/target.cpp | 1 |
4 files changed, 6 insertions, 20 deletions
diff --git a/src/mir/check_full.cpp b/src/mir/check_full.cpp index 52c0aaf5..cacd9bef 100644 --- a/src/mir/check_full.cpp +++ b/src/mir/check_full.cpp @@ -754,9 +754,10 @@ void MIR_Validate_FullValState(::MIR::TypeResolve& mir_res, const ::MIR::Functio TU_MATCHA( (blk.statements[i]), (se), (Assign, - #if ENABLE_LEAK_DETECTOR - // TODO: Check if the target isn't valid. Allow if either invaid, or too complex to know. - #endif + if( ENABLE_LEAK_DETECTOR ) + { + // TODO: Check if the target isn't valid. Allow if either invaid, or too complex to know. + } TU_MATCHA( (se.src), (ve), (Use, state.move_lvalue(mir_res, ve); diff --git a/src/mir/from_hir_match.cpp b/src/mir/from_hir_match.cpp index 46331ca6..a68fd1bf 100644 --- a/src/mir/from_hir_match.cpp +++ b/src/mir/from_hir_match.cpp @@ -2240,22 +2240,6 @@ int MIR_LowerHIR_Match_Simple__GeneratePattern(MirBuilder& builder, const Span& ), (Array, TODO(sp, "Match directly on array?"); - #if 0 - unsigned int total = 0; - for( unsigned int i = 0; i < te.size_val; i ++ ) { - unsigned int cnt = MIR_LowerHIR_Match_Simple__GeneratePattern( - builder, sp, - rules, num_rules, *te.inner, - ::MIR::LValue::make_Field({ box$(match_val.clone()), i }), - fail_bb - ); - total += cnt; - rules += cnt; - num_rules -= cnt; - if( num_rules == 0 ) - return total; - } - #endif ), (Slice, ASSERT_BUG(sp, rule.is_Slice() || rule.is_SplitSlice() || (rule.is_Value() && rule.as_Value().is_Bytes()), "Can only match slice with Bytes or Slice rules - " << rule); diff --git a/src/mir/mir_builder.cpp b/src/mir/mir_builder.cpp index eb50e9f7..8cb8c088 100644 --- a/src/mir/mir_builder.cpp +++ b/src/mir/mir_builder.cpp @@ -212,7 +212,7 @@ void MirBuilder::define_variable(unsigned int idx) { auto temp = new_temporary(ty); push_stmt_assign( sp, ::MIR::LValue(temp.clone()), mv$(rv) ); - return temp; + return ::MIR::Param( mv$(temp) ); } } void MirBuilder::set_result(const Span& sp, ::MIR::RValue val) diff --git a/src/trans/target.cpp b/src/trans/target.cpp index 21555101..a85ab12a 100644 --- a/src/trans/target.cpp +++ b/src/trans/target.cpp @@ -6,6 +6,7 @@ * - Target-specific information */ #include "target.hpp" +#include <algorithm> // TODO: Replace with target selection #define POINTER_SIZE_BYTES 8 |