]> Nishi Git Mirror - gwion.git/commitdiff
:bug: Some (func) types do not have tuples
authorJérémie Astor <astor.jeremie@wanadoo.fr>
Tue, 1 Sep 2020 18:40:30 +0000 (20:40 +0200)
committerJérémie Astor <astor.jeremie@wanadoo.fr>
Tue, 1 Sep 2020 18:40:30 +0000 (20:40 +0200)
src/emit/emit.c

index e7660b047d4f5f9ba23a85819b511c8821242a12..1169192acb7b58dcc8902d5ec1c804bc1e742c63 100644 (file)
@@ -78,6 +78,8 @@ ANN static inline void frame_push(Frame* frame) {
 }
 
 ANN static void struct_pop(const Emitter emit, const Type type, const m_uint offset) {
+  if(!type->e->tuple)
+    return;
   for(m_uint i = 0; i < vector_size(&type->e->tuple->types); ++i) {
     const Type t = (Type)vector_at(&type->e->tuple->types, i);
     if(isa(t, emit->gwion->type[et_object]) > 0) {
@@ -1320,6 +1322,8 @@ DECL_EXP_FUNC(emit, m_bool, Emitter)
 
 ANN static void struct_addref(const Emitter emit, const Type type,
     const m_int size, const m_bool offset, const m_bool emit_var) {
+  if(!type->e->tuple)
+    return;
   for(m_uint i = 0; i < vector_size(&type->e->tuple->types); ++i) {
     const Type t = (Type)vector_at(&type->e->tuple->types, i);
     if(isa(t, emit->gwion->type[et_object]) > 0) {