]> Nishi Git Mirror - gwion.git/commitdiff
:fire: Use of subscript check
authorfennecdjay <astor.jeremie@wanadoo.fr>
Tue, 1 Oct 2019 18:23:24 +0000 (20:23 +0200)
committerfennecdjay <astor.jeremie@wanadoo.fr>
Tue, 1 Oct 2019 18:23:24 +0000 (20:23 +0200)
src/parse/check.c

index 0435deb657881b5b73af7a8f5cdf4c9ab7d665e4..92d200d3b9b24b2a7b4904c423775b8ec958cf4a 100644 (file)
@@ -38,12 +38,11 @@ ANN static m_bool check_implicit(const Env env, const m_str str,
   return GW_OK;
 }
 
-ANN m_bool check_exp_array_subscripts(const Env env, const Exp exp) {
+ANN m_bool check_exp_array_subscripts(Env env, Exp exp) {
   CHECK_OB(check_exp(env, exp))
-  const Type t = env->gwion->type[et_int];
-  Exp e = exp;
-  do CHECK_BB(check_implicit(env, "@access", e, t))
-  while((e = e->next));
+  do if(isa(exp->type, env->gwion->type[et_int]) < 0)
+      ERR_B(exp->pos, _("incompatible array subscript type '%s' ..."), exp->type->name)
+  while((exp = exp->next));
   return GW_OK;
 }