This is the mail archive of the
mailing list for the GCC project.
Re: __DBL_HAS_DENORM__ et al required in recent libstdc++
- From: Tim Prince <timothyprince at sbcglobal dot net>
- To: Gabriel Dos Reis <gdr at integrable-solutions dot net>
- Cc: gcc-help <gcc-help at gcc dot gnu dot org>
- Date: Wed, 29 Nov 2006 14:05:37 -0800
- Subject: Re: __DBL_HAS_DENORM__ et al required in recent libstdc++
- References: <456AF5B1.firstname.lastname@example.org> <email@example.com>
- Reply-to: tprince at nospammyrealbox dot com
Gabriel Dos Reis wrote:
Tim Prince <firstname.lastname@example.org> 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.
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)
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