hacked formatting code to work around a compiler problem of not passing __float128 properly via va_list.

introduced 'jj' to pass a large value via a pointer but to take the value inside the pointer
changed hawk_rtx_format() and hawk_rtx_formatmbs() to use 'jj' when building with HAWK_USE_FLTMAX on
This commit is contained in:
2020-12-03 07:28:53 +00:00
parent 7827e5fa4b
commit 65ad752666
4 changed files with 112 additions and 32 deletions

View File

@ -2864,13 +2864,16 @@ void hawk_dprintval (hawk_rtx_t* run, hawk_val_t* val)
break;
case HAWK_VAL_INT:
hawk_errputstrf (HAWK_T("%jd"),
(hawk_intmax_t)((hawk_val_int_t*)val)->val);
hawk_errputstrf (HAWK_T("%jd"), (hawk_intmax_t)((hawk_val_int_t*)val)->val);
break;
case HAWK_VAL_FLT:
hawk_errputstrf (HAWK_T("%jf"),
(hawk_fltmax_t)((hawk_val_flt_t*)val)->val);
#if defined(HAWK_USE_FLTMAX)
/*hawk_errputstrf (HAWK_T("%jf"), ((hawk_val_flt_t*)val)->val);*/
hawk_errputstrf (HAWK_T("%jjf"), &((hawk_val_flt_t*)val)->val);
#else
hawk_errputstrf (HAWK_T("%zf"), ((hawk_val_flt_t*)val)->val);
#endif
break;
case HAWK_VAL_STR: