Gabriel Dos Reis wrote:
Tim Prince <timothyprince@xxxxxxxxxxxxx> writes:
| Builds of gcc-4.3 libstdc++ on cygwin have begun failing with these
| undefined symbols for FLT,DBL,LDBL in std_limits.h. I don't find any
| explanation of it.
They are built-in CPP macros.
-- Gaby
Thanks, but I'm not certain what that means. I would have taken your
comment to mean that they would be included among the pre-defined
macros. I see the function builtin_define_float_constants() and I see
the file modified date Nov 1, but I don't see any ChangeLog references
in recent months indicating what was changed then, why these macros
would suddenly become undefined a few weeks later, or suddenly become
required by libstdc++, if always undefined. Not even any documentation
which would confirm my guess that
-D__LDBL_HAS_DENORM__=0 //(setting apparently immaterial)
-D__DBL_HAS_DENORM__=1
-D__FLT_HAS_DENORM__=1
would be the expected settings. Are those supposed to be added to
CXXFLAGS? Why not documented, why not done automatically?
Adding these to CXXFLAGS does avoid the complaints about those macros,
but immediately after, there is an error thrown about illegal
overloading of std::num_get in libstdc++-v3/include/bits/locale_facets.h