]> Nishi Git Mirror - gwion.git/commitdiff
:bug: Avoid ahead of time emit of a class
authorfennecdjay <fennecdjay@gmail.com>
Tue, 19 Jul 2022 16:05:13 +0000 (18:05 +0200)
committerfennecdjay <fennecdjay@gmail.com>
Tue, 19 Jul 2022 16:05:13 +0000 (18:05 +0200)
src/emit/emit.c
src/emit/emitter.c

index c38377cf3b86c77e95083180b27a1a9b166eee89..bdc8a984a84d85df8af2814026fe9ec9289662e4 100644 (file)
@@ -138,6 +138,7 @@ ANN /*static */ m_bool emit_cdef(const Emitter, const Type);
 ANN /*static inline*/ m_bool ensure_emit(const Emitter emit, const Type t) {
   if (tflag(t, tflag_emit) || !(tflag(t, tflag_cdef) || tflag(t, tflag_udef)))
     return GW_OK; // clean callers
+if(!tflag(t, tflag_tmpl))return GW_OK;
   struct EnvSet es = {.env   = emit->env,
                       .data  = emit,
                       .func  = (_exp_func)emit_cdef,
index f5669edfa59732423125e69b19290916c7f86208..d15592e8de333006670d55971ef92f1fa265052f 100644 (file)
@@ -36,7 +36,7 @@ ANN void free_emitter(MemPool p, Emitter a) {
 }
 
 __attribute__((returns_nonnull)) ANN2(1) Instr
-    emit_add_instr(const Emitter emit, const f_instr f) {
+emit_add_instr(const Emitter emit, const f_instr f) {
   const Instr instr = mp_calloc(emit->gwion->mp, Instr);
   if ((m_uint)f < 255)
     instr->opcode = (m_uint)f;