public inbox for gcc-prs@sourceware.org
help / color / mirror / Atom feed
* Re: libstdc++/3759: nonconforming use of unqualified std:: names
@ 2001-07-24 11:26 Gabriel Dos Reis
  0 siblings, 0 replies; 18+ messages in thread
From: Gabriel Dos Reis @ 2001-07-24 11:26 UTC (permalink / raw)
  To: nobody; +Cc: gcc-prs

The following reply was made to PR libstdc++/3759; it has been noted by GNATS.

From: Gabriel Dos Reis <gdr@codesourcery.com>
To: "David Abrahams" <david.abrahams@rcn.com>
Cc: "Gabriel Dos Reis" <gdr@codesourcery.com>, gcc-bugs@gcc.gnu.org,
   gcc-gnats@gcc.gnu.org
Subject: Re: libstdc++/3759: nonconforming use of unqualified std:: names
Date: 24 Jul 2001 20:16:01 +0200

 "David Abrahams" <david.abrahams@rcn.com> writes:
 
 | I'm familiar with both issues, I promise ;-) I submitted them.
 
 I know and I promise I closely follow the resolutions since I'm
 concerned.  I quote the notes so that other people can have a view of
 what is the feeling of the LWG.
 
 | > My personal view is that not all standard functions should be used
 | > qualified or unqualified; therefore there ought to be a list of which
 | > functions are subject to Koenig lookup.
 | 
 | Agreed. However, that still gives no leeway for the standard library
 | implementation of vector<T,A> to attempt to call fill without qualification.
 
 As to now, there is no wording that it should or it should not --
 which is why we have a DR in the first place.  Certainly, one can
 extrapolate,  but which functions should be used qualified or
 unqualified is still not known.
 
 -- Gaby
 CodeSourcery, LLC                       http://www.codesourcery.com


^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: libstdc++/3759: nonconforming use of unqualified std:: names
@ 2001-07-26  6:36 David Abrahams
  0 siblings, 0 replies; 18+ messages in thread
From: David Abrahams @ 2001-07-26  6:36 UTC (permalink / raw)
  To: nobody; +Cc: gcc-prs

The following reply was made to PR libstdc++/3759; it has been noted by GNATS.

From: "David Abrahams" <david.abrahams@rcn.com>
To: "Gabriel Dos Reis" <gdr@codesourcery.com>
Cc: "Gabriel Dos Reis" <gdr@codesourcery.com>,
	<rittle@labs.mot.com>,
	<gcc-bugs@gcc.gnu.org>,
	<gcc-gnats@gcc.gnu.org>
Subject: Re: libstdc++/3759: nonconforming use of unqualified std:: names
Date: Thu, 26 Jul 2001 09:23:59 -0400

 ----- Original Message -----
 From: "Gabriel Dos Reis" <gdr@codesourcery.com>
 
 
 > "David Abrahams" <david.abrahams@rcn.com> writes:
 > |
 > | Loren's email doesn't seem to be concerned with the issue of whether the
 > | library meets the spec, but with general GNU coding style guidelines in
 > | which (I think) I have no stake.
 >
 > No. I don't think you undertand Loren's mail correectly.  As I
 > understand Loren's mail, the issue isn't just about GNU coding style
 > -- he used elements from that coding style to justify qualification.
 > His concerns, as I undertand it, is to come with a solution
 
 To what? I'm not being (intentionally) obtuse here; it seems like he and you
 are concerned with the use of explicit qualification. In the context of this
 discussion, I am only concerned with getting the library to meet its spec.
 Since there are other ways to do that than adding explicit qualification, it
 doesn't seem like there's much for me to contribute to the discussion the
 two of you want to have... unless I misunderstand something.
 
 > and an additional "guiding principles" to the existing coding style.
 
 As I wrote, I don't think I have a stake in that part of the discussion.
 
 > | I wasn't planning to respond, but if you
 > | think there is a point that merits my direct attention, please forward
 me
 > | the excerpt in question.
 >
 > I don't know exactly how I'm supposed to behave in face of such a
 > condescending tone.
 
 Wow, we really got off on the wrong foot here. I didn't mean to be
 condescending. Maybe "merits" isn't the best word and I should have said
 "warrants". In any case, I'm just trying to say that I don't think I can add
 anything more useful to the discussion than I already have, and I didn't
 notice any new opportunities for me to be helpful in Loren's message. If you
 did, I'd like you to point me at them so I can try. Otherwise, I think, as
 they say, "my work here is done".
 
 -Dave
 


^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: libstdc++/3759: nonconforming use of unqualified std:: names
@ 2001-07-26  6:26 Gabriel Dos Reis
  0 siblings, 0 replies; 18+ messages in thread
From: Gabriel Dos Reis @ 2001-07-26  6:26 UTC (permalink / raw)
  To: nobody; +Cc: gcc-prs

The following reply was made to PR libstdc++/3759; it has been noted by GNATS.

From: Gabriel Dos Reis <gdr@codesourcery.com>
To: "David Abrahams" <david.abrahams@rcn.com>
Cc: "Gabriel Dos Reis" <gdr@codesourcery.com>, <rittle@labs.mot.com>,
   <gcc-bugs@gcc.gnu.org>, <gcc-gnats@gcc.gnu.org>
Subject: Re: libstdc++/3759: nonconforming use of unqualified std:: names
Date: 26 Jul 2001 15:15:51 +0200

 "David Abrahams" <david.abrahams@rcn.com> writes:
 
 | ----- Original Message -----
 | From: "Gabriel Dos Reis" <gdr@codesourcery.com>
 | 
 | > I undertand your position, even if we seem to disagree on the right fix.
 | > I hope the (private) discussion between Loren, you and me will end up
 | > with a agreement of what should be done and recommandations in C++STYLE.
 | 
 | Loren's email doesn't seem to be concerned with the issue of whether the
 | library meets the spec, but with general GNU coding style guidelines in
 | which (I think) I have no stake.
 
 No. I don't think you undertand Loren's mail correectly.  As I
 understand Loren's mail, the issue isn't just about GNU coding style
 -- he used elements from that coding style to justify qualification.
 His concerns, as I undertand it, is to come with a solution and an
 additional "guiding principles" to the existing coding style.
 
 | I wasn't planning to respond, but if you
 | think there is a point that merits my direct attention, please forward me
 | the excerpt in question.
 
 I don't know exactly how I'm supposed to behave in face of such a
 condescending tone.
 
 -- Gaby
 CodeSourcery, LLC                       http://www.codesourcery.com


^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: libstdc++/3759: nonconforming use of unqualified std:: names
@ 2001-07-26  6:16 David Abrahams
  0 siblings, 0 replies; 18+ messages in thread
From: David Abrahams @ 2001-07-26  6:16 UTC (permalink / raw)
  To: nobody; +Cc: gcc-prs

The following reply was made to PR libstdc++/3759; it has been noted by GNATS.

From: "David Abrahams" <david.abrahams@rcn.com>
To: "Gabriel Dos Reis" <gdr@codesourcery.com>
Cc: "Gabriel Dos Reis" <gdr@codesourcery.com>,
	<rittle@labs.mot.com>,
	<gcc-bugs@gcc.gnu.org>,
	<gcc-gnats@gcc.gnu.org>
Subject: Re: libstdc++/3759: nonconforming use of unqualified std:: names
Date: Thu, 26 Jul 2001 09:00:01 -0400

 ----- Original Message -----
 From: "Gabriel Dos Reis" <gdr@codesourcery.com>
 
 > I undertand your position, even if we seem to disagree on the right fix.
 > I hope the (private) discussion between Loren, you and me will end up
 > with a agreement of what should be done and recommandations in C++STYLE.
 
 Loren's email doesn't seem to be concerned with the issue of whether the
 library meets the spec, but with general GNU coding style guidelines in
 which (I think) I have no stake. I wasn't planning to respond, but if you
 think there is a point that merits my direct attention, please forward me
 the excerpt in question.
 
 -Dave
 
 


^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: libstdc++/3759: nonconforming use of unqualified std:: names
@ 2001-07-26  5:56 Gabriel Dos Reis
  0 siblings, 0 replies; 18+ messages in thread
From: Gabriel Dos Reis @ 2001-07-26  5:56 UTC (permalink / raw)
  To: nobody; +Cc: gcc-prs

The following reply was made to PR libstdc++/3759; it has been noted by GNATS.

From: Gabriel Dos Reis <gdr@codesourcery.com>
To: "David Abrahams" <david.abrahams@rcn.com>
Cc: "Gabriel Dos Reis" <gdr@codesourcery.com>, <rittle@labs.mot.com>,
   <gcc-bugs@gcc.gnu.org>, <gcc-gnats@gcc.gnu.org>
Subject: Re: libstdc++/3759: nonconforming use of unqualified std:: names
Date: 26 Jul 2001 14:53:50 +0200

 "David Abrahams" <david.abrahams@rcn.com> writes:
 
 | Just to reiterate my position: regardless of the question of which names may
 | be used unqualified, the library must meet its specification. The places
 | where the question of the use of unqualified names are relevant are those
 | where the library specification says that a particular function is used in
 | the implementation of another function. Examples are in valarray and
 | swap_ranges.
 
 I undertand your position, even if we seem to disagree on the right fix.
 I hope the (private) discussion between Loren, you and me will end up
 with a agreement of what should be done and recommandations in C++STYLE.
 
 -- Gaby
 CodeSourcery, LLC                       http://www.codesourcery.com


^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: libstdc++/3759: nonconforming use of unqualified std:: names
@ 2001-07-26  5:46 David Abrahams
  0 siblings, 0 replies; 18+ messages in thread
From: David Abrahams @ 2001-07-26  5:46 UTC (permalink / raw)
  To: nobody; +Cc: gcc-prs

The following reply was made to PR libstdc++/3759; it has been noted by GNATS.

From: "David Abrahams" <david.abrahams@rcn.com>
To: "Gabriel Dos Reis" <gdr@codesourcery.com>
Cc: <rittle@labs.mot.com>,
	"Gabriel Dos Reis" <gdr@codesourcery.com>,
	<gcc-bugs@gcc.gnu.org>,
	<gcc-gnats@gcc.gnu.org>
Subject: Re: libstdc++/3759: nonconforming use of unqualified std:: names
Date: Thu, 26 Jul 2001 08:36:13 -0400

 ----- Original Message -----
 From: "Gabriel Dos Reis" <gdr@codesourcery.com>
 
 > "David Abrahams" <david.abrahams@rcn.com> writes:
 >
 > The bottom line is that, we have an issue as to know which functions a
 > library can use unqualified.  As to now, there has been no definitive
 > resolution. Oh yes, one can modify insert() to please you, but that
 > doesn't answer the question of which function names the libray can use
 > in an unqualified manner.  The answer to that question is necessary
 > before going changing function name uses willy-nilly.
 
 I think we've reached an end of this debate. I understand that we disagree,
 but I the use of the term "willy-nilly" and the question of pleasing me
 personally is an unfair characterization. You understand the issue
 differently from me. I can respect that. I even think you misunderstand the
 issue, but I don't think you're being irresponsible, as the term
 "willy-nilly" would imply.
 
 Just to reiterate my position: regardless of the question of which names may
 be used unqualified, the library must meet its specification. The places
 where the question of the use of unqualified names are relevant are those
 where the library specification says that a particular function is used in
 the implementation of another function. Examples are in valarray and
 swap_ranges. I filed a bug report against libstdc++ concerned with the
 semantics of insert() and the large majority of other functions which are
 not documented as calling other standard algorithms precisely because the
 correctness of their implementation with respect to the standard is easy to
 determine. I did not touch on the issue of valarray and swap_ranges because
 the right thing to do, as Gaby implies, is not yet clear.
 
 And now, with respect, I withdraw from this discussion.
 
 Regards,
 Dave
 


^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: libstdc++/3759: nonconforming use of unqualified std:: names
@ 2001-07-25 15:46 Gabriel Dos Reis
  0 siblings, 0 replies; 18+ messages in thread
From: Gabriel Dos Reis @ 2001-07-25 15:46 UTC (permalink / raw)
  To: nobody; +Cc: gcc-prs

The following reply was made to PR libstdc++/3759; it has been noted by GNATS.

From: Gabriel Dos Reis <gdr@codesourcery.com>
To: "David Abrahams" <david.abrahams@rcn.com>
Cc: <rittle@labs.mot.com>, "Gabriel Dos Reis" <gdr@codesourcery.com>,
   <gcc-bugs@gcc.gnu.org>, <gcc-gnats@gcc.gnu.org>
Subject: Re: libstdc++/3759: nonconforming use of unqualified std:: names
Date: 26 Jul 2001 00:42:44 +0200

 "David Abrahams" <david.abrahams@rcn.com> writes:
 
 The bottom line is that, we have an issue as to know which functions a
 library can use unqualified.  As to now, there has been no definitive
 resolution. Oh yes, one can modify insert() to please you, but that
 doesn't answer the question of which function names the libray can use
 in an unqualified manner.  The answer to that question is necessary
 before going changing function name uses willy-nilly.
 
 -- Gaby
 CodeSourcery, LLC                       http://www.codesourcery.com


^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: libstdc++/3759: nonconforming use of unqualified std:: names
@ 2001-07-25 15:36 David Abrahams
  0 siblings, 0 replies; 18+ messages in thread
From: David Abrahams @ 2001-07-25 15:36 UTC (permalink / raw)
  To: nobody; +Cc: gcc-prs

The following reply was made to PR libstdc++/3759; it has been noted by GNATS.

From: "David Abrahams" <david.abrahams@rcn.com>
To: <rittle@labs.mot.com>,
	"Gabriel Dos Reis" <gdr@codesourcery.com>
Cc: <gdr@codesourcery.com>,
	<gcc-bugs@gcc.gnu.org>,
	<gcc-gnats@gcc.gnu.org>
Subject: Re: libstdc++/3759: nonconforming use of unqualified std:: names
Date: Wed, 25 Jul 2001 18:20:40 -0400

 ----- Original Message -----
 From: "Gabriel Dos Reis" <gdr@codesourcery.com>
 
 > | 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.
 
 
 IMO it's the unspoken rule that the library behaves according to its
 specification (do we really need to say that? THIS STANDARD MEANS WHAT IT
 SAYS AND NOT SOMETHING ELSE). The specification does not say that if I
 define a function called fill() whose semantics don't match the standard's
 fill(), my fill funtion will be called when I try to insert into a vector,
 and the semantics of vector::insert will be changed accordingly.
 
 -Dave
 


^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: libstdc++/3759: nonconforming use of unqualified std:: names
@ 2001-07-25 14:56 Gabriel Dos Reis
  0 siblings, 0 replies; 18+ messages in thread
From: Gabriel Dos Reis @ 2001-07-25 14:56 UTC (permalink / raw)
  To: nobody; +Cc: gcc-prs

The following reply was made to PR libstdc++/3759; it has been noted by GNATS.

From: Gabriel Dos Reis <gdr@codesourcery.com>
To: rittle@labs.mot.com
Cc: david.abrahams@rcn.com, gdr@codesourcery.com, gcc-bugs@gcc.gnu.org,
   gcc-gnats@gcc.gnu.org
Subject: Re: libstdc++/3759: nonconforming use of unqualified std:: names
Date: 25 Jul 2001 23:47:42 +0200

 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


^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: libstdc++/3759: nonconforming use of unqualified std:: names
@ 2001-07-25 14:16 Loren James Rittle
  0 siblings, 0 replies; 18+ messages in thread
From: Loren James Rittle @ 2001-07-25 14:16 UTC (permalink / raw)
  To: nobody; +Cc: gcc-prs

The following reply was made to PR libstdc++/3759; it has been noted by GNATS.

From: Loren James Rittle <rittle@latour.rsch.comm.mot.com>
To: david.abrahams@rcn.com
Cc: gdr@codesourcery.com, gcc-bugs@gcc.gnu.org, gcc-gnats@gcc.gnu.org
Subject: Re: libstdc++/3759: nonconforming use of unqualified std:: names
Date: Wed, 25 Jul 2001 16:15:34 -0500 (CDT)

 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...
 
 If fill<>() was not a template function in namespace std, then this
 would be a non-issue, right?  The only reason 14.6.4 can come into
 play within a library implementation is when a user-provided template
 argument can come from a name space other than std (in this case, it
 arrives indirectly through vector<>, etc but the issue is the same).
 
 Is my logic incorrect for citing 14.6.4?  If so, which section(s)
 should be cited?
 
 Regards,
 Loren


^ permalink raw reply	[flat|nested] 18+ messages in thread

* libstdc++/3759: nonconforming use of unqualified std:: names
@ 2001-07-24 11:06 Gabriel Dos Reis
  0 siblings, 0 replies; 18+ messages in thread
From: Gabriel Dos Reis @ 2001-07-24 11:06 UTC (permalink / raw)
  To: nobody; +Cc: gcc-prs

The following reply was made to PR libstdc++/3759; it has been noted by GNATS.

From: Gabriel Dos Reis <gdr@codesourcery.com>
To: gcc-bugs@gcc.gnu.org
Cc: gcc-gnats@gcc.gnu.org
Subject: libstdc++/3759: nonconforming use of unqualified std:: names
Date: 24 Jul 2001 20:00:13 +0200

 "David Abrahams" <david.abrahams@rcn.com> writes:
 
 | ----- Original Message -----
 | From: "Gabriel Dos Reis" <gdr@codesourcery.com>
 | To: "David Abrahams" <david.abrahams@rcn.com>
 | Cc: <ljrittle@gcc.gnu.org>; "Gabriel Dos Reis" <gdr@codesourcery.com>;
 | <gcc-bugs@gcc.gnu.org>; <gcc-gnats@gcc.gnu.org>; <nobody@gcc.gnu.org>
 | Sent: Tuesday, July 24, 2001 1:12 PM
 | Subject: Re: libstdc++/3759: nonconforming use of unqualified std:: names
 | 
 | 
 | > "David Abrahams" <david.abrahams@rcn.com> writes:
 | >
 | > | There are open issues related to the problem I illustrated, but there's
 | > | agreement in the LWG that an implementation has no right to exhibit the
 | > | behavior I illustrated.
 | >
 | > The problem you reported is specifically issue #225 which is still
 | > open.  I'm not saying your problem is a non-issue.  The problem,
 | > if there is one, is in the Standard.
 | 
 | I disagree. I agree with the LWG consensus from Toronto note you quoted
 | below - that there's no standard defect. The problem IMO is in libstd-c++.
 
 I do not agree. See Issue #229.
 
    [Post-Tokyo: Steve Clamage submitted this issue at the request of the
    LWG to solve a problem in the standard itself similar to the problem
    within implementations of library identified by issue 225. Any
    resolution of issue 225 should be coordinated with the resolution of
    this issue.]  
 
    [post-Toronto: Howard is undecided about whether it is appropriate for
    all standard library function names referred to in other standard
    library functions to be explicitly qualified by std: it is common
    advice that users should define global functions that operate on their
    class in the same namespace as the class, and this requires
    argument-dependent lookup if those functions are intended to be called
    by library code. Several LWG members are concerned that valarray
    appears to require argument-dependent lookup, but that the wording may
    not be clear enough to fall under "unless explicitly described
    otherwise".]  
 
 My personal view is that not all standard functions should be used
 qualified or unqualified; therefore there ought to be a list of which
 functions are subject to Koenig lookup.
 
 -- Gaby
 CodeSourcery, LLC                       http://www.codesourcery.com
 


^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: libstdc++/3759: nonconforming use of unqualified std:: names
@ 2001-07-24 10:46 Gabriel Dos Reis
  0 siblings, 0 replies; 18+ messages in thread
From: Gabriel Dos Reis @ 2001-07-24 10:46 UTC (permalink / raw)
  To: nobody; +Cc: gcc-prs

The following reply was made to PR libstdc++/3759; it has been noted by GNATS.

From: Gabriel Dos Reis <gdr@codesourcery.com>
To: "David Abrahams" <david.abrahams@rcn.com>
Cc: "Gabriel Dos Reis" <gdr@codesourcery.com>
Subject: Re: libstdc++/3759: nonconforming use of unqualified std:: names
Date: 24 Jul 2001 19:37:25 +0200

 "David Abrahams" <david.abrahams@rcn.com> writes:
 
 | ----- Original Message -----
 | From: "Gabriel Dos Reis" <gdr@codesourcery.com>
 | To: "David Abrahams" <david.abrahams@rcn.com>
 | Cc: <ljrittle@gcc.gnu.org>; "Gabriel Dos Reis" <gdr@codesourcery.com>;
 | <gcc-bugs@gcc.gnu.org>; <gcc-gnats@gcc.gnu.org>; <nobody@gcc.gnu.org>
 | Sent: Tuesday, July 24, 2001 1:12 PM
 | Subject: Re: libstdc++/3759: nonconforming use of unqualified std:: names
 | 
 | 
 | > "David Abrahams" <david.abrahams@rcn.com> writes:
 | >
 | > | There are open issues related to the problem I illustrated, but there's
 | > | agreement in the LWG that an implementation has no right to exhibit the
 | > | behavior I illustrated.
 | >
 | > The problem you reported is specifically issue #225 which is still
 | > open.  I'm not saying your problem is a non-issue.  The problem,
 | > if there is one, is in the Standard.
 | 
 | I disagree. I agree with the LWG consensus from Toronto note you quoted
 | below - that there's no standard defect. The problem IMO is in libstd-c++.
 
 I do not agree. See Issue #229.
 
    [Post-Tokyo: Steve Clamage submitted this issue at the request of the
    LWG to solve a problem in the standard itself similar to the problem
    within implementations of library identified by issue 225. Any
    resolution of issue 225 should be coordinated with the resolution of
    this issue.]  
 
    [post-Toronto: Howard is undecided about whether it is appropriate for
    all standard library function names referred to in other standard
    library functions to be explicitly qualified by std: it is common
    advice that users should define global functions that operate on their
    class in the same namespace as the class, and this requires
    argument-dependent lookup if those functions are intended to be called
    by library code. Several LWG members are concerned that valarray
    appears to require argument-dependent lookup, but that the wording may
    not be clear enough to fall under "unless explicitly described
    otherwise".]  
 
 My personal view is that not all standard functions should be used
 qualified or unqualified; therefore there ought to be a list of which
 functions are subject to Koenig lookup.
 
 -- Gaby
 CodeSourcery, LLC                       http://www.codesourcery.com
 


^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: libstdc++/3759: nonconforming use of unqualified std:: names
@ 2001-07-24 10:36 David Abrahams
  0 siblings, 0 replies; 18+ messages in thread
From: David Abrahams @ 2001-07-24 10:36 UTC (permalink / raw)
  To: nobody; +Cc: gcc-prs

The following reply was made to PR libstdc++/3759; it has been noted by GNATS.

From: "David Abrahams" <david.abrahams@rcn.com>
To: "Gabriel Dos Reis" <gdr@codesourcery.com>
Cc: <ljrittle@gcc.gnu.org>,
	"Gabriel Dos Reis" <gdr@codesourcery.com>,
	<gcc-bugs@gcc.gnu.org>,
	<gcc-gnats@gcc.gnu.org>,
	<nobody@gcc.gnu.org>
Subject: Re: libstdc++/3759: nonconforming use of unqualified std:: names
Date: Tue, 24 Jul 2001 13:24:50 -0400

 ----- Original Message -----
 From: "Gabriel Dos Reis" <gdr@codesourcery.com>
 To: "David Abrahams" <david.abrahams@rcn.com>
 Cc: <ljrittle@gcc.gnu.org>; "Gabriel Dos Reis" <gdr@codesourcery.com>;
 <gcc-bugs@gcc.gnu.org>; <gcc-gnats@gcc.gnu.org>; <nobody@gcc.gnu.org>
 Sent: Tuesday, July 24, 2001 1:12 PM
 Subject: Re: libstdc++/3759: nonconforming use of unqualified std:: names
 
 
 > "David Abrahams" <david.abrahams@rcn.com> writes:
 >
 > | There are open issues related to the problem I illustrated, but there's
 > | agreement in the LWG that an implementation has no right to exhibit the
 > | behavior I illustrated.
 >
 > The problem you reported is specifically issue #225 which is still
 > open.  I'm not saying your problem is a non-issue.  The problem,
 > if there is one, is in the Standard.
 
 I disagree. I agree with the LWG consensus from Toronto note you quoted
 below - that there's no standard defect. The problem IMO is in libstd-c++.
 
 > I do not agree with the description that we are violating 14.6.4.
 > Such a "violation" is a result of a possible inconsistency in the
 > Standard not a V3 internal inconsistency.
 
 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.
 
 > For latter reference, I'll cite the notes from Tokyo and Toronto
 > meetings:
 >
 > [Tokyo: The LWG agrees that this is a defect in the standard, but is as
 > yet unsure if the proposed resolution is the best solution.
 > Furthermore, the LWG believes that the same problem of unqualified
 > library names applies to wording in the standard itself, and has
 > opened issue 229 accordingly. Any resolution of issue 225 should be
 > coordinated with the resolution of issue 229.]
 >
 > [Toronto: The LWG is not sure if this is a defect in the
 > standard. Most LWG members believe that an implementation of
 > std::unique like the one quoted in this issue is
 > already illegal, since, under certain circumstances, its semantics are
 > not those specified in the standard. The standard's description of
 > unique does not say that overloading
 > adjacent_find should have any effect.]
 >
 > -- Gaby
 >
 


^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: libstdc++/3759: nonconforming use of unqualified std:: names
@ 2001-07-24 10:16 Gabriel Dos Reis
  0 siblings, 0 replies; 18+ messages in thread
From: Gabriel Dos Reis @ 2001-07-24 10:16 UTC (permalink / raw)
  To: nobody; +Cc: gcc-prs

The following reply was made to PR libstdc++/3759; it has been noted by GNATS.

From: Gabriel Dos Reis <gdr@codesourcery.com>
To: "David Abrahams" <david.abrahams@rcn.com>
Cc: <ljrittle@gcc.gnu.org>, "Gabriel Dos Reis" <gdr@codesourcery.com>,
   <gcc-bugs@gcc.gnu.org>, <gcc-gnats@gcc.gnu.org>, <nobody@gcc.gnu.org>
Subject: Re: libstdc++/3759: nonconforming use of unqualified std:: names
Date: 24 Jul 2001 19:12:09 +0200

 "David Abrahams" <david.abrahams@rcn.com> writes:
 
 | There are open issues related to the problem I illustrated, but there's
 | agreement in the LWG that an implementation has no right to exhibit the
 | behavior I illustrated. 
 
 The problem you reported is specifically issue #225 which is still
 open.  I'm not saying your problem is a non-issue.  The problem,
 if there is one, is in the Standard.
 
 I do not agree with the description that we are violating 14.6.4.
 Such a "violation" is a result of a possible inconsistency in the
 Standard not a V3 internal inconsistency. 
 
 For latter reference, I'll cite the notes from Tokyo and Toronto
 meetings:
 
 [Tokyo: The LWG agrees that this is a defect in the standard, but is as
 yet unsure if the proposed resolution is the best solution.
 Furthermore, the LWG believes that the same problem of unqualified
 library names applies to wording in the standard itself, and has
 opened issue 229 accordingly. Any resolution of issue 225 should be
 coordinated with the resolution of issue 229.] 
 
 [Toronto: The LWG is not sure if this is a defect in the
 standard. Most LWG members believe that an implementation of
 std::unique like the one quoted in this issue is
 already illegal, since, under certain circumstances, its semantics are
 not those specified in the standard. The standard's description of
 unique does not say that overloading
 adjacent_find should have any effect.]
 
 -- Gaby


^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: libstdc++/3759: nonconforming use of unqualified std:: names
@ 2001-07-24 10:06 David Abrahams
  0 siblings, 0 replies; 18+ messages in thread
From: David Abrahams @ 2001-07-24 10:06 UTC (permalink / raw)
  To: nobody; +Cc: gcc-prs

The following reply was made to PR libstdc++/3759; it has been noted by GNATS.

From: "David Abrahams" <david.abrahams@rcn.com>
To: <ljrittle@gcc.gnu.org>,
	"Gabriel Dos Reis" <gdr@codesourcery.com>
Cc: <gcc-bugs@gcc.gnu.org>,
	<gcc-gnats@gcc.gnu.org>,
	<nobody@gcc.gnu.org>
Subject: Re: libstdc++/3759: nonconforming use of unqualified std:: names
Date: Tue, 24 Jul 2001 12:51:16 -0400

 There are open issues related to the problem I illustrated, but there's
 agreement in the LWG that an implementation has no right to exhibit the
 behavior I illustrated. The fact that we're discussing related things
 doesn't change that.
 
 -Dave
 ----- Original Message -----
 From: "Gabriel Dos Reis" <gdr@codesourcery.com>
 To: <ljrittle@gcc.gnu.org>
 Cc: <david.abrahams@rcn.com>; <gcc-bugs@gcc.gnu.org>;
 <gcc-gnats@gcc.gnu.org>; <nobody@gcc.gnu.org>
 Sent: Tuesday, July 24, 2001 4:53 AM
 Subject: Re: libstdc++/3759: nonconforming use of unqualified std:: names
 
 
 > ljrittle@gcc.gnu.org writes:
 >
 > | Synopsis: nonconforming use of unqualified std:: names
 > |
 > | State-Changed-From-To: open->analyzed
 > | State-Changed-By: ljrittle
 > | State-Changed-When: Mon Jul 23 16:23:56 2001
 > | State-Changed-Why:
 > |     We violate section 14.6.4 of C++98 in the library
 > |     implementation in any case where we use functions
 > |     available from namespace std that are being treated
 > |     as "dependent names".
 >
 > To be more precise, this is an open issue
 


^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: libstdc++/3759: nonconforming use of unqualified std:: names
@ 2001-07-24  9:36 Gabriel Dos Reis
  0 siblings, 0 replies; 18+ messages in thread
From: Gabriel Dos Reis @ 2001-07-24  9:36 UTC (permalink / raw)
  To: nobody; +Cc: gcc-prs

The following reply was made to PR libstdc++/3759; it has been noted by GNATS.

From: Gabriel Dos Reis <gdr@codesourcery.com>
To: ljrittle@gcc.gnu.org
Cc: david.abrahams@rcn.com, gcc-bugs@gcc.gnu.org, gcc-gnats@gcc.gnu.org,
   nobody@gcc.gnu.org
Subject: Re: libstdc++/3759: nonconforming use of unqualified std:: names
Date: 24 Jul 2001 10:53:05 +0200

 ljrittle@gcc.gnu.org writes:
 
 | Synopsis: nonconforming use of unqualified std:: names
 | 
 | State-Changed-From-To: open->analyzed
 | State-Changed-By: ljrittle
 | State-Changed-When: Mon Jul 23 16:23:56 2001
 | State-Changed-Why:
 |     We violate section 14.6.4 of C++98 in the library
 |     implementation in any case where we use functions
 |     available from namespace std that are being treated
 |     as "dependent names".
 
 To be more precise, this is an open issue 


^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: libstdc++/3759: nonconforming use of unqualified std:: names
@ 2001-07-23 16:23 ljrittle
  0 siblings, 0 replies; 18+ messages in thread
From: ljrittle @ 2001-07-23 16:23 UTC (permalink / raw)
  To: david.abrahams, gcc-bugs, gcc-prs, nobody

Synopsis: nonconforming use of unqualified std:: names

State-Changed-From-To: open->analyzed
State-Changed-By: ljrittle
State-Changed-When: Mon Jul 23 16:23:56 2001
State-Changed-Why:
    We violate section 14.6.4 of C++98 in the library
    implementation in any case where we use functions
    available from namespace std that are being treated
    as "dependent names".

http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view&pr=3759&database=gcc


^ permalink raw reply	[flat|nested] 18+ messages in thread

* libstdc++/3759: nonconforming use of unqualified std:: names
@ 2001-07-21 11:36 david.abrahams
  0 siblings, 0 replies; 18+ messages in thread
From: david.abrahams @ 2001-07-21 11:36 UTC (permalink / raw)
  To: gcc-gnats

>Number:         3759
>Category:       libstdc++
>Synopsis:       nonconforming use of unqualified std:: names
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    unassigned
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sat Jul 21 11:36:00 PDT 2001
>Closed-Date:
>Last-Modified:
>Originator:     David Abrahams
>Release:        GCC-3.0
>Organization:
>Environment:
Any
>Description:
the standard library uses many other standard library entities without explicit qualification. This is nonconforming.
>How-To-Repeat:
#include <vector>
struct fill {}; // comment out this line to compile successfully
struct y {};
void f()
{
   std::vector<y> x(10);
   x.insert(x.begin(), 10, y());
}
>Fix:
add std:: qualification to all uses of std::algorithms and classes within std::.
>Release-Note:
>Audit-Trail:
>Unformatted:


^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2001-07-26  6:36 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-07-24 11:26 libstdc++/3759: nonconforming use of unqualified std:: names Gabriel Dos Reis
  -- strict thread matches above, loose matches on Subject: below --
2001-07-26  6:36 David Abrahams
2001-07-26  6:26 Gabriel Dos Reis
2001-07-26  6:16 David Abrahams
2001-07-26  5:56 Gabriel Dos Reis
2001-07-26  5:46 David Abrahams
2001-07-25 15:46 Gabriel Dos Reis
2001-07-25 15:36 David Abrahams
2001-07-25 14:56 Gabriel Dos Reis
2001-07-25 14:16 Loren James Rittle
2001-07-24 11:06 Gabriel Dos Reis
2001-07-24 10:46 Gabriel Dos Reis
2001-07-24 10:36 David Abrahams
2001-07-24 10:16 Gabriel Dos Reis
2001-07-24 10:06 David Abrahams
2001-07-24  9:36 Gabriel Dos Reis
2001-07-23 16:23 ljrittle
2001-07-21 11:36 david.abrahams

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).