> Why does the compilation of b.c fail, while that of a.c succeeds with > gcc-4.0.0 or later?
Because the call to isinf is optimized away even at -O0 in the latter case (isinf being a pure function), but not in the former. That could be deemed a little questionable though. The gap is eliminated at -O1. -- Eric Botcazou