public inbox for gcc-prs@sourceware.org
help / color / mirror / Atom feed
* c++/3242: Forwarding using 'using' of base members broken?
@ 2001-06-18 19:46 wolfgang wander
  0 siblings, 0 replies; 2+ messages in thread
From: wolfgang wander @ 2001-06-18 19:46 UTC (permalink / raw)
  To: gcc-gnats

>Number:         3242
>Category:       c++
>Synopsis:       Forwarding using 'using' of base members broken?
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          rejects-legal
>Submitter-Id:   net
>Arrival-Date:   Mon Jun 18 19:46:02 PDT 2001
>Closed-Date:
>Last-Modified:
>Originator:     wolfgang wander
>Release:        3.0
>Organization:
>Environment:
System: Linux groby 2.4.3-ac12 #18 Sun Apr 22 23:29:30 EDT 2001 i686 unknown
Architecture: i686

host: i686-pc-linux-gnu
build: i686-pc-linux-gnu
target: i686-pc-linux-gnu
configured with: ../gcc-3.0/configure --prefix=/work/gcc/ --with-as=/work/gcc/bin/as --with-ld=/work/gcc/bin/ld
>Description:
        While forwarding iterator/const_iterator returning 
        member functions g++-3.0 only forwards the const
        member. g++-2.95.x, SunSoft-CC and Kai CC compile
        the code below correctly.

        AFAIK the C++ standard requires to forward all
        members of a given name via 'using' - then again - I may be wrong ;-)
        
>How-To-Repeat:

g++ -c test.C
-----------------------------------
#include <list>

struct Derived: private std::list<int> {
  using std::list<int>::iterator;
  using std::list<int>::const_iterator;
  using std::list<int>::begin;
};

void foo() {
  Derived d;

  Derived::iterator       b = d.begin();
  Derived::const_iterator c = d.begin();
}
----------------------------------
2.95 compiles happily
3.0 produces:
test.C: In function `void foo()':
test.C:12: conversion from `std::_List_iterator<int, const int&, const int*>' 
   to non-scalar type `std::_List_iterator<int, int&, int*>' requested
>Fix:
    None ;-(
>Release-Note:
>Audit-Trail:
>Unformatted:


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

* Re: c++/3242: Forwarding using 'using' of base members broken?
@ 2001-08-11 13:33 gdr
  0 siblings, 0 replies; 2+ messages in thread
From: gdr @ 2001-08-11 13:33 UTC (permalink / raw)
  To: gcc-bugs, gcc-prs, gdr, nobody, wwcba

Synopsis: Forwarding using 'using' of base members broken?

Responsible-Changed-From-To: unassigned->gdr
Responsible-Changed-By: gdr
Responsible-Changed-When: Sat Aug 11 13:33:46 2001
Responsible-Changed-Why:
    Analyzed.
State-Changed-From-To: open->analyzed
State-Changed-By: gdr
State-Changed-When: Sat Aug 11 13:33:46 2001
State-Changed-Why:
    Confirmed as bug.  This is front-end issue, not a library issue.

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


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

end of thread, other threads:[~2001-08-11 13:33 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-06-18 19:46 c++/3242: Forwarding using 'using' of base members broken? wolfgang wander
2001-08-11 13:33 gdr

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).