https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90326
--- Comment #2 from Alex Smith <asmith at feralinteractive dot com> ---
It still repros for me on 9.0.1-0.16.fc31.
Slightly reduced test case:
$ cat test.h
#define TEST 1
$ cat test.cpp
#include <stdio.h>
static_assert(__FLT_MAX__ > 0);
int main() { return 0; }
$ g++ -o test test.cpp -include test.h
$ g++ -x c++-header -c test.h -o test.h.gch
$ g++ -o test test.cpp -include test.h
test.cpp:2:27: error: static assertion failed
2 | static_assert(__FLT_MAX__ > 0);
Note __FLT_MAX__ is failing as well as FLT_MAX.
However, if I remove "#include <stdio.h>", it compiles successfully.