3 ms·
> clang and gcc can’t even agree on the ABI of __int128 on x64 linux. That type is a gcc extension but it’s also explicitly defined and specified by the AMD64 S
by leni536 4y ago
> clang and gcc can’t even agree on the ABI of __int128 on x64 linux. That type is a gcc extension but it’s also explicitly defined and specified by the AMD64 SysV ABI in one of those nice human-readable PDFs!
Yikes! So it is supposedly defined in the SysV ABI, and at least one of the compilers fails to implement that. Are there bug reports for this? How does the disagrement manifest? Different calling concention when used as a function parameter or return value? Different alignment? I doubt that it would have different size or object representation.