Change the way struct CStrings are handled.
A CString used to be copied into a token string, which is an int array. On a 64-bit architecture the pointers were misaligned, so ASan gave lots of warnings. On a 64-bit architecture that required memory accesses to be correctly aligned it would not work at all. The CString is now included in CValue instead.
This commit is contained in:
1
TODO
1
TODO
@ -36,7 +36,6 @@ Portability:
|
||||
|
||||
- it is assumed that int is 32-bit and sizeof(int) == 4
|
||||
- int is used when host or target size_t would make more sense
|
||||
- struct CString is written into an int array and ends up misaligned
|
||||
- TCC handles target floating-point (fp) values using the host's fp
|
||||
arithmetic, which is simple and fast but may lead to exceptions
|
||||
and inaccuracy and wrong representations when cross-compiling
|
||||
|
||||
Reference in New Issue
Block a user