> Since this is fine on RHEL I presume the problem is related to the solaris > environment. It looks like there the _IP32 macro is not defined. I notice > that the Sun/Oracle documentation at > https://docs.oracle.com/cd/E19683-01/806-6543/chapter4-2/index.html says > that this macro is used to say that the sizes of int, long, and pointer are > all 32 bits. There is something strange about that macro though. Here is
Also, the Oracle docs don't take Clang into account. Clang will define ILP32 under all 32-bit data models, and not just ILP32 data model on x86_64 as the System V ABI spec calls out. That means the preprocessor macro __ILP32__ bleeds into other platforms, like mipsel, armel and aarch32. That's why we have to tie x86_64 into the tests. I asked the LLVM devs about the unusual use of the macro definitions, and how we should craft the test for Clang users. The LLVM devs are very arrogant and their response was something like "nothing forbids it so we do it". Keep in mind everyone else we tested does it according to the System V spec, including Comeau, GCC, and ICC. Only Clang gratuitously defines ILP32. Here are some related docs and reading: * https://sites.google.com/site/x32abi/ * https://wiki.debian.org/X32Port For completeness, GCC choking on it is a GCC bug (or an Oracle bug if Oracle patches introduced it). But as I said earlier, if it breaks the compile then we'll take it as our bug. We don't want users enduring it. Jeff -- -- You received this message because you are subscribed to the "Crypto++ Users" Google Group. To unsubscribe, send an email to cryptopp-users-unsubscr...@googlegroups.com. More information about Crypto++ and this group is available at http://www.cryptopp.com. --- You received this message because you are subscribed to the Google Groups "Crypto++ Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to cryptopp-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.