> > I agree with all you are saying here. I just wanted
> to say that even when you use legal names, you can
> still have problems. If for instance _C and _S were
> replaced by CS and SS, the header sys/regset.h would
> break the code as well on sol-x86 (this header is one
> of the worst I have met for macro pollution).
> 
> I don't think I follow.  If you intentionally
> #include a header file
> that contains macros that you want (such as CS and SS
> in
> <sys/regset.h>), then how is that "pollution?"  If
> you didn't include
> it intentionally, then why not remove that errant
> #include so that you
> don't have symbols you don't want?
> 
> I don't think this is a problem at all.  In fact,
> those symbols are
> defined by the i386 ABI, so they're *supposed* to be
> there.
> 
> But, in any event, if you feel there's something
> wrong with that
> header file, then do file a bug on it.
> 

I also think that there is something ill defined in the system headers.

For example, take the following code:

#include iostream
int testfunc(double *****SS) { return 0;};
int main() { std::cout << \"Hellow World!\"; }

Please remove the backslash characters, they
are just there for the forum. And it also didn't
like the brackets around iostream.

It does not compile using g++ on solaris x86.
No problems using CC, for that matter.
--
This message posted from opensolaris.org

Reply via email to