Funny clang behaviour
marc.glisse at inria.fr
Mon Feb 17 19:34:45 UTC 2020
On Mon, 17 Feb 2020, Torbjörn Granlund wrote:
> We upgraded the FreeBSD GMP test systems from 11.2 to 11.3 and 12.0 to
> 12.1 and with those upgrades came clang 8.0.
> We got some really novel failures when using clang++ for compiling GMP.
> It spews out binary error messages which appears to be dumps of its own
> RAM! What clang actually thinks is wromg is anyone's guess.
It looks like there is now a standard header called <bit>. We also have a
test bit.c that compiles to bit. And we have a -I flag pointing to the
location of this second bit file. Now, when clang sees #include <bit>
inside the libc++ headers, it finds this binary file instead of the
standard header. I think we should fix that on the GMP side. The easiest
would be to rename the test from bit to something less common.
More information about the gmp-devel