diff --git a/src/netlist.c b/src/netlist.c index 62757b94..6df779c7 100644 --- a/src/netlist.c +++ b/src/netlist.c @@ -1619,12 +1619,14 @@ void auto_set_wire_bus(int start, int end) if(xctx->netlist_count) return; /* do this only in top level */ if(end > xctx->wires) return; if(start < 0) return; + if(!xctx->prep_hi_structs) return; cc = WIRELAYER; if(xctx->only_probes) cc = GRIDLAYER; regcomp(&re, "(.+\\[.+(:|\\.\\.)[^.]+\\])|(,)", REG_NOSUB | REG_EXTENDED); for(i = start;i < end; ++i) { bus = 0; oldbus = xctx->wire[i].bus; + if(!xctx->wire[i].node) continue; if(!regexec(&re, xctx->wire[i].node, 0 , NULL, 0) ) bus = 1; if( (oldbus == 0.0 && bus == 1) || (oldbus == -1.0 && bus == 0) ) { dbg(1, "auto_set_wire_bus(): i=%d, oldbus=%g bus=%d\n", i, oldbus, bus);