Funny clang behaviour

Marc Glisse marc.glisse at
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.

Marc Glisse

More information about the gmp-devel mailing list