https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64054
--- Comment #6 from ro at CeBiTec dot Uni-Bielefeld.DE <ro at CeBiTec dot Uni-Bielefeld.DE> --- > --- Comment #5 from Jonathan Wakely <redi at gcc dot gnu.org> --- > Thanks - so it looks as though the problem is in std::stod which is pretty > simple, and can be reduced to: [...] > Maybe Solaris' strtod() doesn't support hex floats in C++ code, so it will > print "stopped at 'x'" It does indeed. When I compile the test with Studio 12.4 cc -std=c99, I get 272.000000 0x1.1000000000000p+8 instead, which reminded me that gcc still doesn't link with values-xpg6.o in C99 mode. There was quite some controversy about this in PR target/40411, and nothing has happened on this front for quite some time. It turns out that if I add values-xpg6.o to the link, gcc prints the same output as cc. Rainer