You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently Endianness is very important in Value because it uses this for aligning 32-bit and 64-bit integer, in order to implement "no overhead integer conversion".
This "optimization" depends on the RAPIDJSON_ENDIAN macro. Currently it has assumes little endian if gcc __BYTE_ORDER__ is not defined. This is error-prone.
Several potential fixes:
Better endianness detection with more compilers.
If unable to detect, fail to compile and ask user to define the macro explicitly.
Automatic validation of endianness in compile-time or run-time.
Shall check how other cross-platform libraries deal with this issue.
The text was updated successfully, but these errors were encountered:
Upstream issue https://code.google.com/p/rapidjson/issues/detail?id=100
Currently Endianness is very important in
Value
because it uses this for aligning 32-bit and 64-bit integer, in order to implement "no overhead integer conversion".This "optimization" depends on the
RAPIDJSON_ENDIAN
macro. Currently it has assumes little endian if gcc__BYTE_ORDER__
is not defined. This is error-prone.Several potential fixes:
Shall check how other cross-platform libraries deal with this issue.
The text was updated successfully, but these errors were encountered: