Can anyone think of an argument for preserving the way TCC currently
stores an integer constant in one of the following union members?
int i;
unsigned int ui;
unsigned int ul; /* address (should be unsigned long on 64 bit cpu) */
long long ll;
unsigned long long ull;
To me it seems to make the implementation more complicated while
inviting people to rely on undefined behaviour such as signed overflow
and writing to one member of a union then reading from another. The
obvious thing to do is to use unsigned long long (or uint64_t or
uintmax_t) for all integer constants, but I've not actually tried
changing the code.
Edmund
_______________________________________________
Tinycc-devel mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/tinycc-devel