projects
/
m6w6
/
ext-psi
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
|
github
raw
|
inline
| side by side
validate: fix type stack and leaks
[m6w6/ext-psi]
/
src
/
types
/
num_exp.c
diff --git
a/src/types/num_exp.c
b/src/types/num_exp.c
index 91ff887311979e625942ada7fc16828cc8fe3797..6dac5cef2cbd60416b5f9110fab45397c495b317 100644
(file)
--- a/
src/types/num_exp.c
+++ b/
src/types/num_exp.c
@@
-431,7
+431,7
@@
bool psi_num_exp_validate(struct psi_data *data, struct psi_num_exp *exp,
case PSI_T_CAST:
return psi_num_exp_validate(data, exp->data.c.num, impl, cb_decl, current_let, current_set, current_enum)
case PSI_T_CAST:
return psi_num_exp_validate(data, exp->data.c.num, impl, cb_decl, current_let, current_set, current_enum)
- && psi_decl_type_validate(data, exp->data.c.typ, NULL);
+ && psi_decl_type_validate(data, exp->data.c.typ,
0,
NULL);
break;
case PSI_T_NOT:
break;
case PSI_T_NOT:
@@
-501,7
+501,12
@@
static inline void psi_impl_val_dump(token_t t, impl_val *res,
case PSI_T_DOUBLE:
if (frame) PSI_DEBUG_PRINT(frame->context, " %" PRIdval, res->dval);
break;
case PSI_T_DOUBLE:
if (frame) PSI_DEBUG_PRINT(frame->context, " %" PRIdval, res->dval);
break;
- default:
+#if HAVE_LONG_DOUBLE
+ case PSI_T_LONG_DOUBLE:
+ if (frame) PSI_DEBUG_PRINT(frame->context, " %" PRIldval, res->ldval);
+ break;
+#endif
+ default:
assert(0);
}
}
assert(0);
}
}