summaryrefslogtreecommitdiff
path: root/src/hir/expr.hpp
diff options
context:
space:
mode:
authorJohn Hodge <tpg@ucc.asn.au>2018-09-22 16:25:01 +0800
committerJohn Hodge <tpg@ucc.asn.au>2018-09-22 16:25:01 +0800
commit5c63b46f8dca1d65c1906c77169555229ab07412 (patch)
tree5580be06c7a535c3b46bdc3ae9f766697aa1158b /src/hir/expr.hpp
parentdd4e3c887fa2eef2db6fa2795d4283636a1cc26e (diff)
downloadmrust-5c63b46f8dca1d65c1906c77169555229ab07412.tar.gz
All - Generate MIR for constant evaluation (has too many const_cast calls, but it's less ugly)
- Also includes some MIR optimisation changes to reduce some compile times (hopefully) - Removed duplicated MIR consteval and now-unused HIR consteval
Diffstat (limited to 'src/hir/expr.hpp')
-rw-r--r--src/hir/expr.hpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/hir/expr.hpp b/src/hir/expr.hpp
index 37efac31..55a4eaf2 100644
--- a/src/hir/expr.hpp
+++ b/src/hir/expr.hpp
@@ -758,14 +758,15 @@ struct ExprNode_ArrayList:
NODE_METHODS();
};
+// TODO: Might want a second variant for dynamically-sized arrays
struct ExprNode_ArraySized:
public ExprNode
{
::HIR::ExprNodeP m_val;
- ::HIR::ExprNodeP m_size; // TODO: Has to be constant
+ ::HIR::ExprPtr m_size;
size_t m_size_val;
- ExprNode_ArraySized(Span sp, ::HIR::ExprNodeP val, ::HIR::ExprNodeP size):
+ ExprNode_ArraySized(Span sp, ::HIR::ExprNodeP val, ::HIR::ExprPtr size):
ExprNode(mv$(sp)),
m_val( mv$(val) ),
m_size( mv$(size) ),