diff --git a/src/h.h b/src/h.h index a087f962..6caf1750 100644 --- a/src/h.h +++ b/src/h.h @@ -408,7 +408,7 @@ typedef struct TypeInfo { bool isArr; bool arrD1; // is always an array with depth 1 } TypeInfo; -TypeInfo ti[t_COUNT]; +extern TypeInfo ti[t_COUNT]; #define TI(x) (ti[v(x)->type]) diff --git a/src/load.c b/src/load.c index 31713e91..2faf19bb 100644 --- a/src/load.c +++ b/src/load.c @@ -12,6 +12,7 @@ FOR_PM1(F) #define F(N,X) B bi_##N; FOR_PM2(F) #undef F +TypeInfo ti[t_COUNT]; B rtPerf_wrap(B x); // consumes diff --git a/src/vm.c b/src/vm.c index 72b62841..c6a991db 100644 --- a/src/vm.c +++ b/src/vm.c @@ -99,6 +99,10 @@ void printBC(i32* p) { B catchMessage; u64 envPrevHeight; +Env* envCurr; +Env* envStart; +Env* envEnd; + B* gStack; // points to after end B* gStackStart; B* gStackEnd; diff --git a/src/vm.h b/src/vm.h index ce4687ac..4ce90334 100644 --- a/src/vm.h +++ b/src/vm.h @@ -63,9 +63,9 @@ B m_md2Block(Block* bl, Scope* psc); -Env* envCurr; -Env* envStart; -Env* envEnd; +extern Env* envCurr; +extern Env* envStart; +extern Env* envEnd; static inline void pushEnv(Scope* sc, i32* bc) { if (envCurr==envEnd) thrM("Stack overflow");