Re: The inclusion of <string> makes the word `minor' special (g++)?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello,

On Tue, Oct 05, 2004 at 01:47:21PM -0500,
 Eljay Love-Jensen probably wrote:
> Hi Sergey,
> 
> >If I change the name `minor' to something else, everything works.
> 
> On my system, it looks like there is a #define minor in <sys/sysmacros.h>.
> 

I see, but the presence of this macro definition is not covered by the
C++ standard. Why would the macros from <sys/sysmacros.h> come up after
the inclusion of <string>? I'd think they would be #undef'ed somewhere
in the C++ include files that include the <sys/sysmacros.h>. If anywhere
at all, they could be accessible from the <c*> include files (if they
are covered by the C standard).

> >But what if I happen to like the name:)?
> 
> #undef minor
> 

I can already see a large list at the top of every sourcefile :) :

#undef minor
#undef major
.
.
.

And this only if the compiler is g++ 3.x, and #undef'ing an undefined
macro isn't polite, so I'd wrap it all in a big ugly #ifdef or a lot of
smaller but nevertheless ugly #ifdefs. Isn't there another solution?

-- 
DoubleF
Truly great madness can not be achieved without significant
intelligence.
		-- Henrik Tikkanen

Attachment: pgpDRhFjF0WMI.pgp
Description: PGP signature


[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux