This is the mail archive of the gcc-bugs@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: libstdc++/7439: C99 compat: Can't use the name INFINITY in an enum.


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


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