On Monday, September 19, 2016 at 3:34:14 PM UTC-4, Jeffrey Walton wrote:
>
> Hi Everyone,
>
> We added some more tests to verify builds compatible with distros like 
> Debian are producing. Under -mach=x86-64, a "minimum" amd64 build, Clang 
> broke [badly?]. We added the following to work around it:
>
>   // Clang pretends to be GCC, but can't consume the same programs.
>   #if defined(__GNUC__) && defined(__clang__) 
>   # undef __GNUC__ 
>   # undef __GNUC_MINOR__ 
>   # undef __GNUC_PATCHLEVEL__ 
>   # define __GNUC__ 4 
>   #endif
>
> The code above effectively drops Clang's advertised GCC's compatibility 
> from GCC 4.2.1 to 4.0. The new version side steps Clang's inability to 
> obtain compatibility with GCC 4.1 and SSE3 and SSSE3 support. (The problem 
> with Clang is a little deeper, because Clang #error's on SSE3 and SSSE3, so 
> it breaks the compile).
>
> Marcel Raad raised a comment on the 714daaf5706e9e2 commit:
>
>     Unfortunately this will break other libraries (for example some Boost 
> libraries)
>     which rely on clang defining __GNUC__ in GCC mode if crypto++ headers 
> are
>     included before them.
>

We backed this out because it completely broke ARM and Aarch64.

We are going to have to live with the fact that Clang is mostly broken 
under its current practices.

Also see "LLVM Issue 30446: Undefining __GNUC__ or setting __GNUC__ to 1 
breaks libc++", http://llvm.org/bugs/show_bug.cgi?id=30446 .

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.

Reply via email to