[Bug libstdc++/27340] valarray uses __cos which may conflict with libm functions

gdr at integrable-solutions dot net gcc-bugzilla@gcc.gnu.org
Mon May 1 23:40:00 GMT 2006



------- Comment #7 from gdr at integrable-solutions dot net  2006-05-01 23:39 -------
Subject: Re:  valarray uses __cos which may conflict with libm functions

"marc dot glisse at normalesup dot org" <gcc-bugzilla@gcc.gnu.org> writes:

| (In reply to comment #4)
| > Should all those private classes and functions be declared in some
| > specific namespace std::glibcxx_private to have a single point of failure? 
| 
| Oups, I just noticed that was one of the roles of __gnu_cxx (although I don't
| understand why this namespace is not a subnamespace of std:: as tr1 (or at
| least contains a using namespace std;),

Why shall it?


Before people suggest more tricky playing with libstdc++ name spaces,
I would recommand people understand that namespaces are not silver bullet
against machivelic playing with names. 


| which would at the same time fix things
| like getenv not being prefixed by std:: in ext/mt_allocator.h).

That is a separate problem that does not require namespace nesting. 

Nesting namespaces does not come for free.  You really need to
understand its consequences (name lookp, overload resolution, etc.)
before proposing it.   

-- Gaby


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27340



More information about the Gcc-bugs mailing list