This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: __DBL_HAS_DENORM__ et al required in recent libstdc++


Gabriel Dos Reis wrote:
Tim Prince <timothyprince@sbcglobal.net> 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



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]