public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/9447] [3.4 regression] using Base<T>::member does not work
       [not found] <20030127085600.9447.rguenth@tat.physik.uni-tuebingen.de>
@ 2003-06-02 15:06 ` pinskia@physics.uc.edu
  2003-07-09 13:08 ` nathan at gcc dot gnu dot org
                   ` (15 subsequent siblings)
  16 siblings, 0 replies; 17+ messages in thread
From: pinskia@physics.uc.edu @ 2003-06-02 15:06 UTC (permalink / raw)
  To: gcc-bugs

PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.

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


pinskia@physics.uc.edu changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Last reconfirmed|0000-00-00 00:00:00         |2003-06-02 15:06:07
               date|                            |


------- Additional Comments From pinskia@physics.uc.edu  2003-06-02 15:06 -------
Still happens on the mainline (20030529).



------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.


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

* [Bug c++/9447] [3.4 regression] using Base<T>::member does not work
       [not found] <20030127085600.9447.rguenth@tat.physik.uni-tuebingen.de>
  2003-06-02 15:06 ` [Bug c++/9447] [3.4 regression] using Base<T>::member does not work pinskia@physics.uc.edu
@ 2003-07-09 13:08 ` nathan at gcc dot gnu dot org
  2003-07-16 11:01 ` nathan at gcc dot gnu dot org
                   ` (14 subsequent siblings)
  16 siblings, 0 replies; 17+ messages in thread
From: nathan at gcc dot gnu dot org @ 2003-07-09 13:08 UTC (permalink / raw)
  To: gcc-bugs

PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.

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


nathan at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|unassigned at gcc dot gnu   |nathan at gcc dot gnu dot
                   |dot org                     |org
             Status|NEW                         |ASSIGNED


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

* [Bug c++/9447] [3.4 regression] using Base<T>::member does not work
       [not found] <20030127085600.9447.rguenth@tat.physik.uni-tuebingen.de>
  2003-06-02 15:06 ` [Bug c++/9447] [3.4 regression] using Base<T>::member does not work pinskia@physics.uc.edu
  2003-07-09 13:08 ` nathan at gcc dot gnu dot org
@ 2003-07-16 11:01 ` nathan at gcc dot gnu dot org
  2003-07-29 11:17 ` cvs-commit at gcc dot gnu dot org
                   ` (13 subsequent siblings)
  16 siblings, 0 replies; 17+ messages in thread
From: nathan at gcc dot gnu dot org @ 2003-07-16 11:01 UTC (permalink / raw)
  To: gcc-bugs

PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.

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


nathan at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |benko at sztaki dot hu


------- Additional Comments From nathan at gcc dot gnu dot org  2003-07-16 11:01 -------
*** Bug 11467 has been marked as a duplicate of this bug. ***


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

* [Bug c++/9447] [3.4 regression] using Base<T>::member does not work
       [not found] <20030127085600.9447.rguenth@tat.physik.uni-tuebingen.de>
                   ` (3 preceding siblings ...)
  2003-07-29 11:17 ` cvs-commit at gcc dot gnu dot org
@ 2003-07-29 11:17 ` nathan at gcc dot gnu dot org
  2003-07-29 15:37 ` benko at sztaki dot hu
                   ` (11 subsequent siblings)
  16 siblings, 0 replies; 17+ messages in thread
From: nathan at gcc dot gnu dot org @ 2003-07-29 11:17 UTC (permalink / raw)
  To: gcc-bugs

PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.

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


nathan at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|                            |FIXED


------- Additional Comments From nathan at gcc dot gnu dot org  2003-07-29 11:17 -------
2003-07-29  Nathan Sidwell  <nathan@codesourcery.com>

	PR c++/9447
	* decl.c (add_binding): Add bval local variable.
	(push_class_level_binding): Likewise. Allow a USING_DECL to be
	pushed.
	* decl2.c (do_class_using_decl):  The type of a using decl is
	unknown.
	* parser.c (cp_parser_postfix_expression): Refactor unqualified-id
	function call lookup code.
	* pt.c (tsubst): A USING_DECL will have unknown type.
	(tsubst_copy_and_build): Allow a using decl.
	(type_dependent_expression_p): A USING_DECL will make it
	dependent.
	* semantics.c (finish_member_declaration): Push a dependent using
	declaration.


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

* [Bug c++/9447] [3.4 regression] using Base<T>::member does not work
       [not found] <20030127085600.9447.rguenth@tat.physik.uni-tuebingen.de>
                   ` (2 preceding siblings ...)
  2003-07-16 11:01 ` nathan at gcc dot gnu dot org
@ 2003-07-29 11:17 ` cvs-commit at gcc dot gnu dot org
  2003-07-29 11:17 ` nathan at gcc dot gnu dot org
                   ` (12 subsequent siblings)
  16 siblings, 0 replies; 17+ messages in thread
From: cvs-commit at gcc dot gnu dot org @ 2003-07-29 11:17 UTC (permalink / raw)
  To: gcc-bugs

PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.

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



------- Additional Comments From cvs-commit at gcc dot gnu dot org  2003-07-29 11:16 -------
Subject: Bug 9447

CVSROOT:	/cvs/gcc
Module name:	gcc
Changes by:	nathan@gcc.gnu.org	2003-07-29 11:16:50

Modified files:
	gcc/cp         : ChangeLog decl.c decl2.c parser.c pt.c 
	                 semantics.c 
	gcc/testsuite  : ChangeLog 
Added files:
	gcc/testsuite/g++.dg/template: using1.C using2.C using3.C 
	                               using4.C 

Log message:
	cp:
	PR c++/9447
	* decl.c (add_binding): Add bval local variable.
	(push_class_level_binding): Likewise. Allow a USING_DECL to be
	pushed.
	* decl2.c (do_class_using_decl):  The type of a using decl is
	unknown.
	* parser.c (cp_parser_postfix_expression): Refactor unqualified-id
	function call lookup code.
	* pt.c (tsubst): A USING_DECL will have unknown type.
	(tsubst_copy_and_build): Allow a using decl.
	(type_dependent_expression_p): A USING_DECL will make it
	dependent.
	* semantics.c (finish_member_declaration): Push a dependent using
	declaration.
	testsuite:
	PR c++/9447
	* g++.dg/template/using1.C: New test.
	* g++.dg/template/using2.C: New test.
	* g++.dg/template/using3.C: New test.
	* g++.dg/template/using4.C: New test.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/ChangeLog.diff?cvsroot=gcc&r1=1.3565&r2=1.3566
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/decl.c.diff?cvsroot=gcc&r1=1.1103&r2=1.1104
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/decl2.c.diff?cvsroot=gcc&r1=1.650&r2=1.651
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/parser.c.diff?cvsroot=gcc&r1=1.91&r2=1.92
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/pt.c.diff?cvsroot=gcc&r1=1.741&r2=1.742
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/semantics.c.diff?cvsroot=gcc&r1=1.338&r2=1.339
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&r1=1.2928&r2=1.2929
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.dg/template/using1.C.diff?cvsroot=gcc&r1=NONE&r2=1.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.dg/template/using2.C.diff?cvsroot=gcc&r1=NONE&r2=1.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.dg/template/using3.C.diff?cvsroot=gcc&r1=NONE&r2=1.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.dg/template/using4.C.diff?cvsroot=gcc&r1=NONE&r2=1.1


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

* [Bug c++/9447] [3.4 regression] using Base<T>::member does not work
       [not found] <20030127085600.9447.rguenth@tat.physik.uni-tuebingen.de>
                   ` (4 preceding siblings ...)
  2003-07-29 11:17 ` nathan at gcc dot gnu dot org
@ 2003-07-29 15:37 ` benko at sztaki dot hu
  2003-07-29 15:40 ` pinskia at physics dot uc dot edu
                   ` (10 subsequent siblings)
  16 siblings, 0 replies; 17+ messages in thread
From: benko at sztaki dot hu @ 2003-07-29 15:37 UTC (permalink / raw)
  To: gcc-bugs

PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.

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



------- Additional Comments From benko at sztaki dot hu  2003-07-29 15:37 -------
Please reopen the bug.  (Bugzilla didn't let me, since I'm not
the reporter, just the reproter of a duplicate.)

The original testcase is fixed, but the following doesn't work:

ios:~/c/proba$ cat templ_base2.cc
template <typename T> struct Base {
  T i;
};

template <typename T> struct Derived : public Base<T> {
  using Base<T>::i;
  
  int get_i() { return i.f(); }
};
ios:~/c/proba$ g++-cvs templ_base2.cc 
templ_base2.cc: In member function `int Derived<T>::get_i()':
templ_base2.cc:8: error: insufficient contextual information to determine type
zsh: exit 1     g++-cvs templ_base2.cc
ios:~/c/proba$ g++-cvs -v
Reading specs from /gml/shared/gcc-cvs/lib/gcc-lib/i686-pc-linux-gnu/3.4/specs
Configured with: ../gcc/configure --prefix=/gml/shared/gcc-cvs
--enable-languages=c++
Thread model: posix
gcc version 3.4 20030729 (experimental)
ios:~/c/proba$


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

* [Bug c++/9447] [3.4 regression] using Base<T>::member does not work
       [not found] <20030127085600.9447.rguenth@tat.physik.uni-tuebingen.de>
                   ` (5 preceding siblings ...)
  2003-07-29 15:37 ` benko at sztaki dot hu
@ 2003-07-29 15:40 ` pinskia at physics dot uc dot edu
  2003-07-29 16:07 ` reichelt at gcc dot gnu dot org
                   ` (9 subsequent siblings)
  16 siblings, 0 replies; 17+ messages in thread
From: pinskia at physics dot uc dot edu @ 2003-07-29 15:40 UTC (permalink / raw)
  To: gcc-bugs

PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.

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


pinskia at physics dot uc dot edu changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |REOPENED
         Resolution|FIXED                       |


------- Additional Comments From pinskia at physics dot uc dot edu  2003-07-29 15:40 -------
Still not fully fixed.


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

* [Bug c++/9447] [3.4 regression] using Base<T>::member does not work
       [not found] <20030127085600.9447.rguenth@tat.physik.uni-tuebingen.de>
                   ` (6 preceding siblings ...)
  2003-07-29 15:40 ` pinskia at physics dot uc dot edu
@ 2003-07-29 16:07 ` reichelt at gcc dot gnu dot org
  2003-07-30  3:06 ` pinskia at physics dot uc dot edu
                   ` (8 subsequent siblings)
  16 siblings, 0 replies; 17+ messages in thread
From: reichelt at gcc dot gnu dot org @ 2003-07-29 16:07 UTC (permalink / raw)
  To: gcc-bugs

PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.

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



------- Additional Comments From reichelt at gcc dot gnu dot org  2003-07-29 16:07 -------
A similiar example with a different error message is:

----------------------------------------------------------
template <typename T> struct Base {
  T i;
};

template <typename T> struct Derived : public Base<T> {
  using Base<T>::i;
  
  Derived() { i; }
};
----------------------------------------------------------

9447.cc: In constructor `Derived<T>::Derived()':
9447.cc:8: error: statement cannot resolve address of overloaded function

Regards,
Volker


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

* [Bug c++/9447] [3.4 regression] using Base<T>::member does not work
       [not found] <20030127085600.9447.rguenth@tat.physik.uni-tuebingen.de>
                   ` (8 preceding siblings ...)
  2003-07-30  3:06 ` pinskia at physics dot uc dot edu
@ 2003-07-30  3:06 ` pinskia at physics dot uc dot edu
  2003-07-31  7:34 ` benko at sztaki dot hu
                   ` (6 subsequent siblings)
  16 siblings, 0 replies; 17+ messages in thread
From: pinskia at physics dot uc dot edu @ 2003-07-30  3:06 UTC (permalink / raw)
  To: gcc-bugs

PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.

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


pinskia at physics dot uc dot edu changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|unassigned at gcc dot gnu   |nathan at gcc dot gnu dot
                   |dot org                     |org
             Status|NEW                         |ASSIGNED


------- Additional Comments From pinskia at physics dot uc dot edu  2003-07-30 03:06 -------
The new cases are accepted by icc 6.0 in strict mode (-Xc).


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

* [Bug c++/9447] [3.4 regression] using Base<T>::member does not work
       [not found] <20030127085600.9447.rguenth@tat.physik.uni-tuebingen.de>
                   ` (7 preceding siblings ...)
  2003-07-29 16:07 ` reichelt at gcc dot gnu dot org
@ 2003-07-30  3:06 ` pinskia at physics dot uc dot edu
  2003-07-30  3:06 ` pinskia at physics dot uc dot edu
                   ` (7 subsequent siblings)
  16 siblings, 0 replies; 17+ messages in thread
From: pinskia at physics dot uc dot edu @ 2003-07-30  3:06 UTC (permalink / raw)
  To: gcc-bugs

PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.

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


pinskia at physics dot uc dot edu changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|nathan at gcc dot gnu dot   |unassigned at gcc dot gnu
                   |org                         |dot org
             Status|REOPENED                    |NEW


------- Additional Comments From pinskia at physics dot uc dot edu  2003-07-30 03:06 -------
The new cases are accepted by icc 6.0 in strict mode (-Xc).


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

* [Bug c++/9447] [3.4 regression] using Base<T>::member does not work
       [not found] <20030127085600.9447.rguenth@tat.physik.uni-tuebingen.de>
                   ` (9 preceding siblings ...)
  2003-07-30  3:06 ` pinskia at physics dot uc dot edu
@ 2003-07-31  7:34 ` benko at sztaki dot hu
  2003-08-01  9:01 ` cvs-commit at gcc dot gnu dot org
                   ` (5 subsequent siblings)
  16 siblings, 0 replies; 17+ messages in thread
From: benko at sztaki dot hu @ 2003-07-31  7:34 UTC (permalink / raw)
  To: gcc-bugs

PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.

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



------- Additional Comments From benko at sztaki dot hu  2003-07-31 07:34 -------
My second test case in bugreport 11467 doesn't really work:
it passes the first parse, but fails when instantiated:

hydra:~/c/proba$ cat templ_base3.cc
template <typename T> struct Base {
  int i() { return 0; }
};

template <typename T> struct Derived : public Base<T> {
  using Base<T>::i;
  
  int get_i(); { return i(); }
};


int
main()
{
  Derived<int> a;

  return a.get_i();
}
hydra:~/c/proba$ g++-cvs -v
Reading specs from /gml/shared/gcc-cvs/lib/gcc-lib/i686-pc-linux-gnu/3.4/specs
Configured with: ../gcc/configure --prefix=/gml/shared/gcc-cvs
--enable-languages=c++
Thread model: posix
gcc version 3.4 20030731 (experimental)
hydra:~/c/proba$ g++-cvs templ_base3.cc
templ_base3.cc:8: error: expected unqualified-id
zsh: exit 1     g++-cvs templ_base3.cc
hydra:~/c/proba$


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

* [Bug c++/9447] [3.4 regression] using Base<T>::member does not work
       [not found] <20030127085600.9447.rguenth@tat.physik.uni-tuebingen.de>
                   ` (10 preceding siblings ...)
  2003-07-31  7:34 ` benko at sztaki dot hu
@ 2003-08-01  9:01 ` cvs-commit at gcc dot gnu dot org
  2003-08-01  9:15 ` nathan at gcc dot gnu dot org
                   ` (4 subsequent siblings)
  16 siblings, 0 replies; 17+ messages in thread
From: cvs-commit at gcc dot gnu dot org @ 2003-08-01  9:01 UTC (permalink / raw)
  To: gcc-bugs

PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.

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



------- Additional Comments From cvs-commit at gcc dot gnu dot org  2003-08-01 09:01 -------
Subject: Bug 9447

CVSROOT:	/cvs/gcc
Module name:	gcc
Changes by:	nathan@gcc.gnu.org	2003-08-01 09:01:12

Modified files:
	gcc/cp         : ChangeLog decl2.c semantics.c 
	gcc/testsuite  : ChangeLog 
Added files:
	gcc/testsuite/g++.dg/template: using5.C 

Log message:
	cp:
	PR c++/9447
	* decl2.c (do_class_using_decl): Set type to NULL_TREE.
	* semantics.c (finish_expr_stmt): Do not convert to void in a
	template.
	testsuite:
	PR c++/9447
	* g++.dg/template/using5.C: New test.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/ChangeLog.diff?cvsroot=gcc&r1=1.3573&r2=1.3574
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/decl2.c.diff?cvsroot=gcc&r1=1.653&r2=1.654
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/semantics.c.diff?cvsroot=gcc&r1=1.339&r2=1.340
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&r1=1.2938&r2=1.2939
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.dg/template/using5.C.diff?cvsroot=gcc&r1=NONE&r2=1.1


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

* [Bug c++/9447] [3.4 regression] using Base<T>::member does not work
       [not found] <20030127085600.9447.rguenth@tat.physik.uni-tuebingen.de>
                   ` (11 preceding siblings ...)
  2003-08-01  9:01 ` cvs-commit at gcc dot gnu dot org
@ 2003-08-01  9:15 ` nathan at gcc dot gnu dot org
  2003-08-01 14:32 ` reichelt at gcc dot gnu dot org
                   ` (3 subsequent siblings)
  16 siblings, 0 replies; 17+ messages in thread
From: nathan at gcc dot gnu dot org @ 2003-08-01  9:15 UTC (permalink / raw)
  To: gcc-bugs

PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.

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


nathan at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|                            |FIXED


------- Additional Comments From nathan at gcc dot gnu dot org  2003-08-01 09:15 -------
	PR c++/9447
	* decl2.c (do_class_using_decl): Set type to NULL_TREE.
	* semantics.c (finish_expr_stmt): Do not convert to void in a
	template.


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

* [Bug c++/9447] [3.4 regression] using Base<T>::member does not work
       [not found] <20030127085600.9447.rguenth@tat.physik.uni-tuebingen.de>
                   ` (12 preceding siblings ...)
  2003-08-01  9:15 ` nathan at gcc dot gnu dot org
@ 2003-08-01 14:32 ` reichelt at gcc dot gnu dot org
  2003-08-02 18:48 ` nathan at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  16 siblings, 0 replies; 17+ messages in thread
From: reichelt at gcc dot gnu dot org @ 2003-08-01 14:32 UTC (permalink / raw)
  To: gcc-bugs

PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.

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


reichelt at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |REOPENED
         Resolution|FIXED                       |


------- Additional Comments From reichelt at gcc dot gnu dot org  2003-08-01 14:32 -------
The problem is still not fixed completely. Consider the following valid code:

-------------------------------------------------------------------
template <typename> struct A { int i; };

template <typename T> struct B : public A<T>
{
    using A<T>::i;
    int foo() const;
};

struct C {};

template <typename T> int B<T>::foo() const { return i; }
-------------------------------------------------------------------

Mainline still issues an error:

bug.cc: In member function `int B<T>::foo() const':
bug.cc:11: error: `i' undeclared (first use this function)
bug.cc:11: error: (Each undeclared identifier is reported only once for each 
   function it appears in.)

Even stranger: If I remove the totally unrelated definition of struct C
the code compiles!

Nathan, could you please have another look?

I really appreciate your efforts to make this work, since this bug
prevents me from using mainline for my project.


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

* [Bug c++/9447] [3.4 regression] using Base<T>::member does not work
       [not found] <20030127085600.9447.rguenth@tat.physik.uni-tuebingen.de>
                   ` (13 preceding siblings ...)
  2003-08-01 14:32 ` reichelt at gcc dot gnu dot org
@ 2003-08-02 18:48 ` nathan at gcc dot gnu dot org
  2003-08-02 18:52 ` cvs-commit at gcc dot gnu dot org
  2003-08-04 16:55 ` benko at sztaki dot hu
  16 siblings, 0 replies; 17+ messages in thread
From: nathan at gcc dot gnu dot org @ 2003-08-02 18:48 UTC (permalink / raw)
  To: gcc-bugs

PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.

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


nathan at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|REOPENED                    |RESOLVED
         Resolution|                            |FIXED


------- Additional Comments From nathan at gcc dot gnu dot org  2003-08-02 18:48 -------
2003-08-02  Nathan Sidwell  <nathan@codesourcery.com>

	PR c++/9447
	* cp-tree.def (USING_DECL): Document its type.
	* class.c (pushclass): If we're entering a template, push any
	dependent using decls it has.
	* decl2.c (do_class_using_decl): Refactor. Type is NULL iff it is
	a dependent scope.
	* pt.c (tsubst_decl) <USING_DECL case>: Set type.
	(tsubst): Remove USING_DECL checks.
	(type_dependent_expression_p): Remove USING_DECL case.
	* semantics.c (finish_member_declaration): A USING_DECL's type
	indicates whether it is dependent.


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

* [Bug c++/9447] [3.4 regression] using Base<T>::member does not work
       [not found] <20030127085600.9447.rguenth@tat.physik.uni-tuebingen.de>
                   ` (14 preceding siblings ...)
  2003-08-02 18:48 ` nathan at gcc dot gnu dot org
@ 2003-08-02 18:52 ` cvs-commit at gcc dot gnu dot org
  2003-08-04 16:55 ` benko at sztaki dot hu
  16 siblings, 0 replies; 17+ messages in thread
From: cvs-commit at gcc dot gnu dot org @ 2003-08-02 18:52 UTC (permalink / raw)
  To: gcc-bugs

PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.

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



------- Additional Comments From cvs-commit at gcc dot gnu dot org  2003-08-02 18:52 -------
Subject: Bug 9447

CVSROOT:	/cvs/gcc
Module name:	gcc
Changes by:	nathan@gcc.gnu.org	2003-08-02 18:52:16

Modified files:
	gcc/cp         : ChangeLog class.c cp-tree.def decl.c decl2.c 
	                 pt.c semantics.c 
	gcc/testsuite  : ChangeLog 
Added files:
	gcc/testsuite/g++.dg/template: using7.C 

Log message:
	cp:
	PR c++/9447
	* cp-tree.def (USING_DECL): Document its type.
	* class.c (pushclass): If we're entering a template, push any
	dependent using decls it has.
	* decl2.c (do_class_using_decl): Refactor. Type is NULL iff it is
	a dependent scope.
	* pt.c (tsubst_decl) <USING_DECL case>: Set type.
	(tsubst): Remove USING_DECL checks.
	(type_dependent_expression_p): Remove USING_DECL case.
	* semantics.c (finish_member_declaration): A USING_DECL's type
	indicates whether it is dependent.
	testsuite:
	PR c++/9447
	* g++.dg/template/using7.C: New test.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/ChangeLog.diff?cvsroot=gcc&r1=1.3582&r2=1.3583
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/class.c.diff?cvsroot=gcc&r1=1.561&r2=1.562
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/cp-tree.def.diff?cvsroot=gcc&r1=1.77&r2=1.78
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/decl.c.diff?cvsroot=gcc&r1=1.1107&r2=1.1108
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/decl2.c.diff?cvsroot=gcc&r1=1.655&r2=1.656
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/pt.c.diff?cvsroot=gcc&r1=1.750&r2=1.751
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/semantics.c.diff?cvsroot=gcc&r1=1.343&r2=1.344
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&r1=1.2947&r2=1.2948
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.dg/template/using7.C.diff?cvsroot=gcc&r1=NONE&r2=1.1


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

* [Bug c++/9447] [3.4 regression] using Base<T>::member does not work
       [not found] <20030127085600.9447.rguenth@tat.physik.uni-tuebingen.de>
                   ` (15 preceding siblings ...)
  2003-08-02 18:52 ` cvs-commit at gcc dot gnu dot org
@ 2003-08-04 16:55 ` benko at sztaki dot hu
  16 siblings, 0 replies; 17+ messages in thread
From: benko at sztaki dot hu @ 2003-08-04 16:55 UTC (permalink / raw)
  To: gcc-bugs

PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.

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



------- Additional Comments From benko at sztaki dot hu  2003-08-04 16:55 -------
Now all my real life test cases are working, thank you very much!!!!


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

end of thread, other threads:[~2003-08-04 16:55 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <20030127085600.9447.rguenth@tat.physik.uni-tuebingen.de>
2003-06-02 15:06 ` [Bug c++/9447] [3.4 regression] using Base<T>::member does not work pinskia@physics.uc.edu
2003-07-09 13:08 ` nathan at gcc dot gnu dot org
2003-07-16 11:01 ` nathan at gcc dot gnu dot org
2003-07-29 11:17 ` cvs-commit at gcc dot gnu dot org
2003-07-29 11:17 ` nathan at gcc dot gnu dot org
2003-07-29 15:37 ` benko at sztaki dot hu
2003-07-29 15:40 ` pinskia at physics dot uc dot edu
2003-07-29 16:07 ` reichelt at gcc dot gnu dot org
2003-07-30  3:06 ` pinskia at physics dot uc dot edu
2003-07-30  3:06 ` pinskia at physics dot uc dot edu
2003-07-31  7:34 ` benko at sztaki dot hu
2003-08-01  9:01 ` cvs-commit at gcc dot gnu dot org
2003-08-01  9:15 ` nathan at gcc dot gnu dot org
2003-08-01 14:32 ` reichelt at gcc dot gnu dot org
2003-08-02 18:48 ` nathan at gcc dot gnu dot org
2003-08-02 18:52 ` cvs-commit at gcc dot gnu dot org
2003-08-04 16:55 ` benko at sztaki dot hu

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