projects
/
m6w6
/
ext-psi
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
|
github
raw
|
inline
| side by side
fix size of arrays
[m6w6/ext-psi]
/
src
/
types
/
number.c
diff --git
a/src/types/number.c
b/src/types/number.c
index 5f44f6d0cc5bf3b4605b59538039357400bd87c2..5e62c62535e8297baaf33c9e2df3e76a2aa658fd 100644
(file)
--- a/
src/types/number.c
+++ b/
src/types/number.c
@@
-510,7
+510,12
@@
bool psi_number_validate(struct psi_data *data, struct psi_number *exp,
exp->type = PSI_T_UINT64;
exp->data.ival.u64 = psi_decl_type_get_size(dtyp, NULL);
exp->type = PSI_T_UINT64;
exp->data.ival.u64 = psi_decl_type_get_size(dtyp, NULL);
+ psi_decl_type_free(&dtyp);
return true;
return true;
+ } else {
+ data->error(data, exp->token, PSI_WARNING,
+ "Cannot compute sizeof(%s) (%u)",
+ exp->data.dtyp->name, exp->data.dtyp->type);
}
break;
}
break;
@@
-558,7
+563,7
@@
static inline token_t psi_number_eval_constant(struct psi_number *exp,
if (frame) PSI_DEBUG_PRINT(frame->context, " %" PRIdval, res->dval);
return PSI_T_DOUBLE;
default:
if (frame) PSI_DEBUG_PRINT(frame->context, " %" PRIdval, res->dval);
return PSI_T_DOUBLE;
default:
- if (frame) PSI_DEBUG_PRINT(frame->context, " ?(t=%
d
)", exp->data.cnst->type->type);
+ if (frame) PSI_DEBUG_PRINT(frame->context, " ?(t=%
u
)", exp->data.cnst->type->type);
return 0;
}
}
return 0;
}
}