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]

Re: libstdc++/3759: nonconforming use of unqualified std:: names


Loren James Rittle <rittle@latour.rsch.comm.mot.com> writes:

| In article <010501c11465$8c0d7870$6701a8c0@abeast1.com>,
| "David Abrahams" <david.abrahams@rcn.com> writes:
| 
| > I agree that 14.6.4 is not a relevant section. To violate anything in
| > section 14 there would have to be a core compiler bug. I don't believe there
| > is one. I think you have a library bug.
| 
| I too believe that the core g++ compiler is working as required by
| 14.6.4 [temp.dep.res].  The reason I cited 14.6.4 in particular is
| that it explains the correct behavior of the compiler related to
| dependent name lookup in light of name spaces and templates.  It is
| the *library* that violates 14.6.4 through its use of an unqualified
| name in the template implementation of a method that pulls a non-std
| name space...

No, as explained by Dave, the library didn't violate that rule
(14.6.4) -- that ruel can be used to explain why the library is
behaving that way, that at anyrate it didn't vilate that rule.

| Is my logic incorrect for citing 14.6.4?  If so, which section(s)
| should be cited?

An unsopken rule which requires the library to adhere to the Principle
of Least Surprise.

-- Gaby
CodeSourcery, LLC                       http://www.codesourcery.com


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