public inbox for gcc-prs@sourceware.org
help / color / mirror / Atom feed
* Re: c++/9252: [3.4 regression][New parser] Errors due to legally used "typename"
@ 2003-05-10 12:17 lerdsuwa
0 siblings, 0 replies; 5+ messages in thread
From: lerdsuwa @ 2003-05-10 12:17 UTC (permalink / raw)
To: bangerth, gcc-bugs, gcc-prs, lerdsuwa
Synopsis: [3.4 regression][New parser] Errors due to legally used "typename"
State-Changed-From-To: analyzed->closed
State-Changed-By: lerdsuwa
State-Changed-When: Sat May 10 12:17:54 2003
State-Changed-Why:
Fixed in the main trunk.
http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=9252
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: c++/9252: [3.4 regression][New parser] Errors due to legally used "typename"
@ 2003-04-15 10:56 Kriang Lerdsuwanakij
0 siblings, 0 replies; 5+ messages in thread
From: Kriang Lerdsuwanakij @ 2003-04-15 10:56 UTC (permalink / raw)
To: lerdsuwa; +Cc: gcc-prs
The following reply was made to PR c++/9252; it has been noted by GNATS.
From: Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
To: gcc-gnats@gcc.gnu.org, gcc-bugs@gcc.gnu.org, lerdsuwa@gcc.gnu.org,
bangerth@ices.utexas.edu, gcc-prs@gcc.gnu.org
Cc:
Subject: Re: c++/9252: [3.4 regression][New parser] Errors due to legally
used "typename"
Date: Tue, 15 Apr 2003 17:59:48 +0700
http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=9252
Updated patch submitted:
http://gcc.gnu.org/ml/gcc-patches/2003-04/msg01106.html
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: c++/9252: [3.4 regression][New parser] Errors due to legally used "typename"
@ 2003-01-20 11:36 Kriang Lerdsuwanakij
0 siblings, 0 replies; 5+ messages in thread
From: Kriang Lerdsuwanakij @ 2003-01-20 11:36 UTC (permalink / raw)
To: lerdsuwa; +Cc: gcc-prs
The following reply was made to PR c++/9252; it has been noted by GNATS.
From: Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
To: gcc-gnats@gcc.gnu.org, gcc-bugs@gcc.gnu.org, lerdsuwa@gcc.gnu.org,
bangerth@ticam.utexas.edu, gcc-prs@gcc.gnu.org
Cc:
Subject: Re: c++/9252: [3.4 regression][New parser] Errors due to legally
used "typename"
Date: Mon, 20 Jan 2003 18:34:00 +0700
http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=9252
Patch submitted:
http://gcc.gnu.org/ml/gcc-patches/2003-01/msg01293.html
This testcase will be committed together with the patch.
--Kriang
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: c++/9252: [3.4 regression][New parser] Errors due to legally used "typename"
@ 2003-01-10 13:55 lerdsuwa
0 siblings, 0 replies; 5+ messages in thread
From: lerdsuwa @ 2003-01-10 13:55 UTC (permalink / raw)
To: bangerth, gcc-bugs, gcc-prs, lerdsuwa, nobody
Synopsis: [3.4 regression][New parser] Errors due to legally used "typename"
Responsible-Changed-From-To: unassigned->lerdsuwa
Responsible-Changed-By: lerdsuwa
Responsible-Changed-When: Fri Jan 10 05:55:13 2003
Responsible-Changed-Why:
Will work on a fix.
State-Changed-From-To: open->analyzed
State-Changed-By: lerdsuwa
State-Changed-When: Fri Jan 10 05:55:13 2003
State-Changed-Why:
Confirmed.
http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=9252
^ permalink raw reply [flat|nested] 5+ messages in thread
* c++/9252: [3.4 regression][New parser] Errors due to legally used "typename"
@ 2003-01-09 19:16 bangerth
0 siblings, 0 replies; 5+ messages in thread
From: bangerth @ 2003-01-09 19:16 UTC (permalink / raw)
To: gcc-gnats
>Number: 9252
>Category: c++
>Synopsis: [3.4 regression][New parser] Errors due to legally used "typename"
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: unassigned
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Thu Jan 09 11:16:01 PST 2003
>Closed-Date:
>Last-Modified:
>Originator: Wolfgang Bangerth
>Release: unknown-1.0
>Organization:
>Environment:
3.4 since new parser merge
>Description:
This code
---------------------------
class O {
struct I { I (int); };
template <class T_>
friend typename O::I f ();
};
template <class T_>
typename O::I f () { return 1; };
struct X {
void g() { f<int>(); }
};
----------------------------------
used to compile until 3.3, but with the new parser I get
tmp/g> /home/bangerth/bin/gcc-3.4-pre/bin/gcc -c x.cc
x.cc:2: error: `struct O::I' is private
x.cc:9: error: within this context
x.cc:2: error: `struct O::I' is private
x.cc:9: error: within this context
The message is clearly wrong, and furthermore goes away
if the "typename" is removed in the two places where it is
not necessary! Weird, and not very helpful to find the
real cause of the problem.
On the other hand, Gaby pointed out the right place in the
standard that seems to indicate the validity of the use
of "typename" here:
| > 14.6/5:
| >
| > The keyword typename shall only be used in template declarations and
| > definitions, including in the return type of a function template or
| > member function template, in the return type for the definition of a
| > member function of a class template or of a class nested within a
| > class template, and in the type-specifier for the def-inition of a
| > static member of a class template or of a class nested within a
| > class template. The keyword typename shall only be applied to
| > qualified names, but *those names need not be dependent*. [...]
>How-To-Repeat:
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted:
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2003-05-10 12:17 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-05-10 12:17 c++/9252: [3.4 regression][New parser] Errors due to legally used "typename" lerdsuwa
-- strict thread matches above, loose matches on Subject: below --
2003-04-15 10:56 Kriang Lerdsuwanakij
2003-01-20 11:36 Kriang Lerdsuwanakij
2003-01-10 13:55 lerdsuwa
2003-01-09 19:16 bangerth
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).