https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116885
--- Comment #12 from Jaroslav Fojtík <JaFojtik at seznam dot cz> ---
this solution should be correct according to documentation:
typedef union
{
double d;
uint64_t u64;
} DblUint64;
case 'e':{DblUint64 du;
du.d = va_arg(ap,double);
writed+=WrQWORD_LoEnd(du.u64,F);
break;}
case 'E':{DblUint64 du;
du.d = va_arg(ap,double);
writed+=WrQWORD_HiEnd(du.u64,F);
break;}
