summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/mir/check_full.cpp7
-rw-r--r--src/mir/from_hir_match.cpp16
-rw-r--r--src/mir/mir_builder.cpp2
-rw-r--r--src/trans/target.cpp1
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