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]
Other format: [Raw text]

c++/9819: name lookup: base class of template depends on a template-parameter


>Number:         9819
>Category:       c++
>Synopsis:       name lookup: base class of template depends on a template-parameter
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          wrong-code
>Submitter-Id:   net
>Arrival-Date:   Sun Feb 23 19:36:00 UTC 2003
>Closed-Date:
>Last-Modified:
>Originator:     Dimitri
>Release:        gcc-3.2.1
>Organization:
>Environment:
$ uname -srvmi
SunOS 5.8 Generic sun4u SUNW,Ultra-5_10
>Description:
The attached program should print:
	$ ./foo
	now in ::remove()
	$ 
For what it's worth this program compiled with a recent version of the Intel C++ compiler does print that. See section 14.6.2 paragraphs 3-4 of the C++ standard for more details.

Instead when compiled with gcc-3.2.1 it prints:
	$ ./foo
	now in Base<T>::remove()
	$ 
>How-To-Repeat:
Build and run the attached source.
>Fix:

>Release-Note:
>Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: application/octet-stream; name="foo.cc"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="foo.cc"

I2luY2x1ZGUgPHN0ZGlvLmg+CgoKdm9pZCByZW1vdmUoKSB7CiAgICBwcmludGYoIm5vdyBpbiA6
OnJlbW92ZSgpXG4iKTsKfQoKCnRlbXBsYXRlIDxjbGFzcyBUPgpjbGFzcyBCYXNlCnsKcHVibGlj
OgogICAgdm9pZCByZW1vdmUoKSB7IHByaW50Zigibm93IGluIEJhc2U8VD46OnJlbW92ZSgpXG4i
KTsgfQp9OwoKCnRlbXBsYXRlIDxjbGFzcyBUPgpjbGFzcyBEZXJpdmVkIDogcHVibGljIEJhc2U8
VD4KewpwdWJsaWM6CiAgICB2b2lkIGJhcigpIHsgcmVtb3ZlKCk7IH0KfTsKCgppbnQgbWFpbigp
IHsKICAgIERlcml2ZWQ8aW50PiBmb287CiAgICBmb28uYmFyKCk7Cn0K


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