[llvm-dev] Non-native endianness support in Clang
Guy Benyei via llvm-dev
llvm-dev at lists.llvm.org
Mon Aug 26 07:18:45 PDT 2019
I'd like to implement the gnu attribute "scalar_storage_order" to mark structs with non-native endianness. My rational is working on network protocols over little endian architecture (for instance: RiscV).
An old bug is open on this issue here:
I'd like to discuss the possible ways to implement this.
The GCC implementation is pretty complicated, touching almost everything, modifying optimizations, etc...:
I think, it would be better, to implement this attribute in the frontend only, adding the required byte-swaps early.
Any thoughts, ideas, objections?
More information about the llvm-dev