From 04b6360ff879a70a42fcd5f09cccc23cc2dd2d9f Mon Sep 17 00:00:00 2001 From: John Hodge Date: Wed, 11 Jan 2017 18:38:16 +0800 Subject: Trans - Require types used in type_id to be defined --- src/trans/enumerate.cpp | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src/trans/enumerate.cpp') diff --git a/src/trans/enumerate.cpp b/src/trans/enumerate.cpp index 272d96f2..b12673b1 100644 --- a/src/trans/enumerate.cpp +++ b/src/trans/enumerate.cpp @@ -866,6 +866,12 @@ void Trans_Enumerate_Types(EnumState& state) (Call, if( te.fcn.is_Value() ) H::visit_lvalue(tv,pp,fcn, te.fcn.as_Value()); + else if( te.fcn.is_Intrinsic() ) + { + if( te.fcn.as_Intrinsic().name == "type_id" ) { + tv.visit_type(monomorph(te.fcn.as_Intrinsic().params.m_types.at(0))); + } + } H::visit_lvalue(tv,pp,fcn, te.ret_val); for(const auto& arg : te.args) H::visit_lvalue(tv,pp,fcn, arg); -- cgit v1.2.3