Commit 30afb50 ("arm64-win32 review: fix problems and pass tests") removed
the following from libtcc1.c:
#if defined ____x86_64____
const float mzerosf= -0.0;
const double _mzerodf = -0.0;
#endif
#if defined _WIN64
void __faststorefence (void)
{
#if defined(____aarch64____)
_asm__("dmb ish");
#else
_asm__("lock; orl $0,(%rsp)");
#endif
}
#endif
These float constants are still referenced by TCC's x86_64 code generator
for unary minus operations on floats. Without them, TCC produces undefined
symbol '__mzerodf' errors when code that uses -0.0 or negates float values
at runtime.
The ___faststorefence for Win64 (_WIN64) was also removed. I don't know if
it should be restored.
Could these please be restored? Thanks.
I work on chemicallang compiler which translates chemical to C and compiles
it like vlang does, here chemicallang
<https://github.com/chemicallang/chemical>
Regards
Waqas Tahir
_______________________________________________
Tinycc-devel mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/tinycc-devel