libstdc++/7439: C99 compat: Can't use the name INFINITY in an enum.

Gabriel Dos Reis gdr@integrable-solutions.net
Fri Aug 2 11:20:00 GMT 2002


bkoz@gcc.gnu.org writes:

| Old Synopsis: Can't use the name INFINITY in an enum.
| New Synopsis: C99 compat: Can't use the name INFINITY in an enum.
| 
| State-Changed-From-To: open->analyzed
| State-Changed-By: bkoz
| State-Changed-When: Fri Aug  2 09:52:38 2002
| State-Changed-Why:
|     This comes from /usr/include/bits/mathdef.h:
|     
|     # define INFINITY	HUGE_VALF
|     
|     It looks like INFINITY is a C99 macro. 
|     
|     Currently, the plan WRT libstdc++ and C99 macros is undefined. It's also an issue for things like isnan, et. al. It's also a cause for the persistent failure of
|     
|     26_numerics/c99_classification_macros_c++.cc
|     
|     I don't know what to do, but whatever is done should be consitent with all of these C99'isms.

As part of my current work, I will provide support for infinities in
numeric_limits<> so that the INFINITY macro become redondant.  Then
in the compliant C headers, we could #undef them.

I'll post a RFC for a possible strategy with C99 macros.

Thanks,

-- Gaby



More information about the Gcc-bugs mailing list