From 5c63b46f8dca1d65c1906c77169555229ab07412 Mon Sep 17 00:00:00 2001 From: John Hodge Date: Sat, 22 Sep 2018 16:25:01 +0800 Subject: 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 --- src/hir/expr.hpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src/hir/expr.hpp') 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) ), -- cgit v1.2.3