* [Bug c++/106310] Failure to resolve call to template member function in template base class.
2022-07-14 23:46 [Bug c++/106310] New: Failure to resolve call to template member function in template base class lnicoara at thinkoid dot org
@ 2022-07-14 23:50 ` pinskia at gcc dot gnu.org
2022-07-14 23:53 ` pinskia at gcc dot gnu.org
` (17 subsequent siblings)
18 siblings, 0 replies; 20+ messages in thread
From: pinskia at gcc dot gnu.org @ 2022-07-14 23:50 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106310
--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
There is a C++ defect report about this.
^ permalink raw reply [flat|nested] 20+ messages in thread
* [Bug c++/106310] Failure to resolve call to template member function in template base class.
2022-07-14 23:46 [Bug c++/106310] New: Failure to resolve call to template member function in template base class lnicoara at thinkoid dot org
2022-07-14 23:50 ` [Bug c++/106310] " pinskia at gcc dot gnu.org
@ 2022-07-14 23:53 ` pinskia at gcc dot gnu.org
2022-07-14 23:55 ` [Bug c++/106310] [12/13 Regregression] lookup after this-> seems wrong for dependent lookup pinskia at gcc dot gnu.org
` (16 subsequent siblings)
18 siblings, 0 replies; 20+ messages in thread
From: pinskia at gcc dot gnu.org @ 2022-07-14 23:53 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106310
--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Reduced testcase:
template <class T>
struct set{};
template< typename T >
struct Base
{
template< int > int set(T const &) { }
};
template< typename T >
struct Derived : Base< T >
{
void f(T const &arg) {
this->template set< 0 >(arg);
}
};
^ permalink raw reply [flat|nested] 20+ messages in thread
* [Bug c++/106310] [12/13 Regregression] lookup after this-> seems wrong for dependent lookup
2022-07-14 23:46 [Bug c++/106310] New: Failure to resolve call to template member function in template base class lnicoara at thinkoid dot org
2022-07-14 23:50 ` [Bug c++/106310] " pinskia at gcc dot gnu.org
2022-07-14 23:53 ` pinskia at gcc dot gnu.org
@ 2022-07-14 23:55 ` pinskia at gcc dot gnu.org
2022-07-15 7:57 ` [Bug c++/106310] [12/13 Regregression] lookup after this-> seems wrong for dependent lookup since r12-6754-g30f2c22def739211 marxin at gcc dot gnu.org
` (15 subsequent siblings)
18 siblings, 0 replies; 20+ messages in thread
From: pinskia at gcc dot gnu.org @ 2022-07-14 23:55 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106310
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Summary|Failure to resolve call to |[12/13 Regregression]
|template member function in |lookup after this-> seems
|template base class. |wrong for dependent lookup
Keywords| |rejects-valid
--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
And yes there is a defect report in namelookup after this-> . I know there is a
resolution of it but I don't remember which way it went either.
Marking as a regression as GCC 11 and before accepted the code but it might be
invalid ...
^ permalink raw reply [flat|nested] 20+ messages in thread
* [Bug c++/106310] [12/13 Regregression] lookup after this-> seems wrong for dependent lookup since r12-6754-g30f2c22def739211
2022-07-14 23:46 [Bug c++/106310] New: Failure to resolve call to template member function in template base class lnicoara at thinkoid dot org
` (2 preceding siblings ...)
2022-07-14 23:55 ` [Bug c++/106310] [12/13 Regregression] lookup after this-> seems wrong for dependent lookup pinskia at gcc dot gnu.org
@ 2022-07-15 7:57 ` marxin at gcc dot gnu.org
2022-07-18 7:30 ` rguenth at gcc dot gnu.org
` (14 subsequent siblings)
18 siblings, 0 replies; 20+ messages in thread
From: marxin at gcc dot gnu.org @ 2022-07-15 7:57 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106310
Martin Liška <marxin at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Ever confirmed|0 |1
Summary|[12/13 Regregression] |[12/13 Regregression]
|lookup after this-> seems |lookup after this-> seems
|wrong for dependent lookup |wrong for dependent lookup
| |since
| |r12-6754-g30f2c22def739211
CC| |jason at gcc dot gnu.org,
| |marxin at gcc dot gnu.org
Last reconfirmed| |2022-07-15
Status|UNCONFIRMED |NEW
--- Comment #4 from Martin Liška <marxin at gcc dot gnu.org> ---
Started with r12-6754-g30f2c22def739211.
^ permalink raw reply [flat|nested] 20+ messages in thread
* [Bug c++/106310] [12/13 Regregression] lookup after this-> seems wrong for dependent lookup since r12-6754-g30f2c22def739211
2022-07-14 23:46 [Bug c++/106310] New: Failure to resolve call to template member function in template base class lnicoara at thinkoid dot org
` (3 preceding siblings ...)
2022-07-15 7:57 ` [Bug c++/106310] [12/13 Regregression] lookup after this-> seems wrong for dependent lookup since r12-6754-g30f2c22def739211 marxin at gcc dot gnu.org
@ 2022-07-18 7:30 ` rguenth at gcc dot gnu.org
2023-05-08 12:25 ` rguenth at gcc dot gnu.org
` (13 subsequent siblings)
18 siblings, 0 replies; 20+ messages in thread
From: rguenth at gcc dot gnu.org @ 2022-07-18 7:30 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106310
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|--- |12.2
^ permalink raw reply [flat|nested] 20+ messages in thread
* [Bug c++/106310] [12/13 Regregression] lookup after this-> seems wrong for dependent lookup since r12-6754-g30f2c22def739211
2022-07-14 23:46 [Bug c++/106310] New: Failure to resolve call to template member function in template base class lnicoara at thinkoid dot org
` (4 preceding siblings ...)
2022-07-18 7:30 ` rguenth at gcc dot gnu.org
@ 2023-05-08 12:25 ` rguenth at gcc dot gnu.org
2023-07-12 3:24 ` [Bug c++/106310] [12/13/14 " pinskia at gcc dot gnu.org
` (12 subsequent siblings)
18 siblings, 0 replies; 20+ messages in thread
From: rguenth at gcc dot gnu.org @ 2023-05-08 12:25 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106310
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|12.3 |12.4
--- Comment #6 from Richard Biener <rguenth at gcc dot gnu.org> ---
GCC 12.3 is being released, retargeting bugs to GCC 12.4.
^ permalink raw reply [flat|nested] 20+ messages in thread
* [Bug c++/106310] [12/13/14 Regregression] lookup after this-> seems wrong for dependent lookup since r12-6754-g30f2c22def739211
2022-07-14 23:46 [Bug c++/106310] New: Failure to resolve call to template member function in template base class lnicoara at thinkoid dot org
` (5 preceding siblings ...)
2023-05-08 12:25 ` rguenth at gcc dot gnu.org
@ 2023-07-12 3:24 ` pinskia at gcc dot gnu.org
2023-07-12 3:24 ` pinskia at gcc dot gnu.org
` (11 subsequent siblings)
18 siblings, 0 replies; 20+ messages in thread
From: pinskia at gcc dot gnu.org @ 2023-07-12 3:24 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106310
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |justin at jtcholzer dot net
--- Comment #7 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
*** Bug 110636 has been marked as a duplicate of this bug. ***
^ permalink raw reply [flat|nested] 20+ messages in thread
* [Bug c++/106310] [12/13/14 Regregression] lookup after this-> seems wrong for dependent lookup since r12-6754-g30f2c22def739211
2022-07-14 23:46 [Bug c++/106310] New: Failure to resolve call to template member function in template base class lnicoara at thinkoid dot org
` (6 preceding siblings ...)
2023-07-12 3:24 ` [Bug c++/106310] [12/13/14 " pinskia at gcc dot gnu.org
@ 2023-07-12 3:24 ` pinskia at gcc dot gnu.org
2023-07-26 14:40 ` [Bug c++/106310] [12/13/14 Regression] " jason at gcc dot gnu.org
` (10 subsequent siblings)
18 siblings, 0 replies; 20+ messages in thread
From: pinskia at gcc dot gnu.org @ 2023-07-12 3:24 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106310
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |deco33000 at yandex dot com
--- Comment #8 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
*** Bug 105767 has been marked as a duplicate of this bug. ***
^ permalink raw reply [flat|nested] 20+ messages in thread
* [Bug c++/106310] [12/13/14 Regression] lookup after this-> seems wrong for dependent lookup since r12-6754-g30f2c22def739211
2022-07-14 23:46 [Bug c++/106310] New: Failure to resolve call to template member function in template base class lnicoara at thinkoid dot org
` (7 preceding siblings ...)
2023-07-12 3:24 ` pinskia at gcc dot gnu.org
@ 2023-07-26 14:40 ` jason at gcc dot gnu.org
2023-07-26 16:45 ` cvs-commit at gcc dot gnu.org
` (9 subsequent siblings)
18 siblings, 0 replies; 20+ messages in thread
From: jason at gcc dot gnu.org @ 2023-07-26 14:40 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106310
Jason Merrill <jason at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |ASSIGNED
Assignee|unassigned at gcc dot gnu.org |jason at gcc dot gnu.org
^ permalink raw reply [flat|nested] 20+ messages in thread
* [Bug c++/106310] [12/13/14 Regression] lookup after this-> seems wrong for dependent lookup since r12-6754-g30f2c22def739211
2022-07-14 23:46 [Bug c++/106310] New: Failure to resolve call to template member function in template base class lnicoara at thinkoid dot org
` (8 preceding siblings ...)
2023-07-26 14:40 ` [Bug c++/106310] [12/13/14 Regression] " jason at gcc dot gnu.org
@ 2023-07-26 16:45 ` cvs-commit at gcc dot gnu.org
2023-07-26 19:25 ` [Bug c++/106310] [12/13 " jason at gcc dot gnu.org
` (8 subsequent siblings)
18 siblings, 0 replies; 20+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2023-07-26 16:45 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106310
--- Comment #9 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The trunk branch has been updated by Jason Merrill <jason@gcc.gnu.org>:
https://gcc.gnu.org/g:51b997ea1d07465cb0208c711975b545872a2d2b
commit r14-2799-g51b997ea1d07465cb0208c711975b545872a2d2b
Author: Jason Merrill <jason@redhat.com>
Date: Wed Jul 26 10:39:34 2023 -0400
c++: member vs global template [PR106310]
For backward compatibility we still want to allow patterns like
this->A<T>::foo, but the template keyword in a qualified name is
specifically to specify that a dependent name is a template, so don't look
in the enclosing scope at all.
Also fix handling of dependent bases: if member lookup in the current
instantiation fails and we have dependent bases, the lookup is dependent.
We were already handling that for the case where lookup in the enclosing
scope also fails, but we also want it to affect that lookup itself.
PR c++/106310
gcc/cp/ChangeLog:
* parser.cc (cp_parser_template_name): Skip non-member
lookup after the template keyword.
(cp_parser_lookup_name): Pass down template_keyword_p.
gcc/testsuite/ChangeLog:
* g++.dg/template/template-keyword4.C: New test.
^ permalink raw reply [flat|nested] 20+ messages in thread
* [Bug c++/106310] [12/13 Regression] lookup after this-> seems wrong for dependent lookup since r12-6754-g30f2c22def739211
2022-07-14 23:46 [Bug c++/106310] New: Failure to resolve call to template member function in template base class lnicoara at thinkoid dot org
` (9 preceding siblings ...)
2023-07-26 16:45 ` cvs-commit at gcc dot gnu.org
@ 2023-07-26 19:25 ` jason at gcc dot gnu.org
2023-08-11 21:21 ` cvs-commit at gcc dot gnu.org
` (7 subsequent siblings)
18 siblings, 0 replies; 20+ messages in thread
From: jason at gcc dot gnu.org @ 2023-07-26 19:25 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106310
Jason Merrill <jason at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Known to work| |11.3.0, 14.0
Summary|[12/13/14 Regression] |[12/13 Regression] lookup
|lookup after this-> seems |after this-> seems wrong
|wrong for dependent lookup |for dependent lookup since
|since |r12-6754-g30f2c22def739211
|r12-6754-g30f2c22def739211 |
--- Comment #10 from Jason Merrill <jason at gcc dot gnu.org> ---
Fixed for 14 so far.
^ permalink raw reply [flat|nested] 20+ messages in thread
* [Bug c++/106310] [12/13 Regression] lookup after this-> seems wrong for dependent lookup since r12-6754-g30f2c22def739211
2022-07-14 23:46 [Bug c++/106310] New: Failure to resolve call to template member function in template base class lnicoara at thinkoid dot org
` (10 preceding siblings ...)
2023-07-26 19:25 ` [Bug c++/106310] [12/13 " jason at gcc dot gnu.org
@ 2023-08-11 21:21 ` cvs-commit at gcc dot gnu.org
2023-08-11 21:22 ` cvs-commit at gcc dot gnu.org
` (6 subsequent siblings)
18 siblings, 0 replies; 20+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2023-08-11 21:21 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106310
--- Comment #11 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-12 branch has been updated by Jason Merrill
<jason@gcc.gnu.org>:
https://gcc.gnu.org/g:1cb272a8b1669e438aadf4a95da3979ac07ca9ce
commit r12-9812-g1cb272a8b1669e438aadf4a95da3979ac07ca9ce
Author: Jason Merrill <jason@redhat.com>
Date: Wed Jul 26 10:39:34 2023 -0400
c++: member vs global template [PR106310]
For backward compatibility we still want to allow patterns like
this->A<T>::foo, but the template keyword in a qualified name is
specifically to specify that a dependent name is a template, so don't look
in the enclosing scope at all.
Also fix handling of dependent bases: if member lookup in the current
instantiation fails and we have dependent bases, the lookup is dependent.
We were already handling that for the case where lookup in the enclosing
scope also fails, but we also want it to affect that lookup itself.
PR c++/106310
gcc/cp/ChangeLog:
* parser.cc (cp_parser_template_name): Skip non-member
lookup after the template keyword.
(cp_parser_lookup_name): Pass down template_keyword_p.
gcc/testsuite/ChangeLog:
* g++.dg/template/template-keyword4.C: New test.
^ permalink raw reply [flat|nested] 20+ messages in thread
* [Bug c++/106310] [12/13 Regression] lookup after this-> seems wrong for dependent lookup since r12-6754-g30f2c22def739211
2022-07-14 23:46 [Bug c++/106310] New: Failure to resolve call to template member function in template base class lnicoara at thinkoid dot org
` (11 preceding siblings ...)
2023-08-11 21:21 ` cvs-commit at gcc dot gnu.org
@ 2023-08-11 21:22 ` cvs-commit at gcc dot gnu.org
2023-08-11 21:24 ` jason at gcc dot gnu.org
` (5 subsequent siblings)
18 siblings, 0 replies; 20+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2023-08-11 21:22 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106310
--- Comment #12 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-13 branch has been updated by Jason Merrill
<jason@gcc.gnu.org>:
https://gcc.gnu.org/g:db6c4ba976a795480cbccc380e3a84eec1de8e68
commit r13-7712-gdb6c4ba976a795480cbccc380e3a84eec1de8e68
Author: Jason Merrill <jason@redhat.com>
Date: Wed Jul 26 10:39:34 2023 -0400
c++: member vs global template [PR106310]
For backward compatibility we still want to allow patterns like
this->A<T>::foo, but the template keyword in a qualified name is
specifically to specify that a dependent name is a template, so don't look
in the enclosing scope at all.
Also fix handling of dependent bases: if member lookup in the current
instantiation fails and we have dependent bases, the lookup is dependent.
We were already handling that for the case where lookup in the enclosing
scope also fails, but we also want it to affect that lookup itself.
PR c++/106310
gcc/cp/ChangeLog:
* parser.cc (cp_parser_template_name): Skip non-member
lookup after the template keyword.
(cp_parser_lookup_name): Pass down template_keyword_p.
gcc/testsuite/ChangeLog:
* g++.dg/template/template-keyword4.C: New test.
^ permalink raw reply [flat|nested] 20+ messages in thread
* [Bug c++/106310] [12/13 Regression] lookup after this-> seems wrong for dependent lookup since r12-6754-g30f2c22def739211
2022-07-14 23:46 [Bug c++/106310] New: Failure to resolve call to template member function in template base class lnicoara at thinkoid dot org
` (12 preceding siblings ...)
2023-08-11 21:22 ` cvs-commit at gcc dot gnu.org
@ 2023-08-11 21:24 ` jason at gcc dot gnu.org
2023-09-08 9:10 ` fw at gcc dot gnu.org
` (4 subsequent siblings)
18 siblings, 0 replies; 20+ messages in thread
From: jason at gcc dot gnu.org @ 2023-08-11 21:24 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106310
Jason Merrill <jason at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution|--- |FIXED
--- Comment #13 from Jason Merrill <jason at gcc dot gnu.org> ---
Fixed for 12.4/13.3/14.
^ permalink raw reply [flat|nested] 20+ messages in thread
* [Bug c++/106310] [12/13 Regression] lookup after this-> seems wrong for dependent lookup since r12-6754-g30f2c22def739211
2022-07-14 23:46 [Bug c++/106310] New: Failure to resolve call to template member function in template base class lnicoara at thinkoid dot org
` (13 preceding siblings ...)
2023-08-11 21:24 ` jason at gcc dot gnu.org
@ 2023-09-08 9:10 ` fw at gcc dot gnu.org
2023-09-08 20:27 ` mpolacek at gcc dot gnu.org
` (3 subsequent siblings)
18 siblings, 0 replies; 20+ messages in thread
From: fw at gcc dot gnu.org @ 2023-09-08 9:10 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106310
Florian Weimer <fw at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |fw at gcc dot gnu.org
--- Comment #14 from Florian Weimer <fw at gcc dot gnu.org> ---
(In reply to Martin Liška from comment #4)
> Started with r12-6754-g30f2c22def739211.
And this was backported as r11-9991-g8d2f59c8e26960df, so this issue currently
exists on the gcc-11 branch.
^ permalink raw reply [flat|nested] 20+ messages in thread
* [Bug c++/106310] [12/13 Regression] lookup after this-> seems wrong for dependent lookup since r12-6754-g30f2c22def739211
2022-07-14 23:46 [Bug c++/106310] New: Failure to resolve call to template member function in template base class lnicoara at thinkoid dot org
` (14 preceding siblings ...)
2023-09-08 9:10 ` fw at gcc dot gnu.org
@ 2023-09-08 20:27 ` mpolacek at gcc dot gnu.org
2023-09-11 20:03 ` [Bug c++/106310] [11/12/13 " jason at gcc dot gnu.org
` (2 subsequent siblings)
18 siblings, 0 replies; 20+ messages in thread
From: mpolacek at gcc dot gnu.org @ 2023-09-08 20:27 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106310
Marek Polacek <mpolacek at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |mpolacek at gcc dot gnu.org
--- Comment #15 from Marek Polacek <mpolacek at gcc dot gnu.org> ---
I tried to backport the patch to gcc11 but cp_parser_lookup_name has changed
too much.
^ permalink raw reply [flat|nested] 20+ messages in thread
* [Bug c++/106310] [11/12/13 Regression] lookup after this-> seems wrong for dependent lookup since r12-6754-g30f2c22def739211
2022-07-14 23:46 [Bug c++/106310] New: Failure to resolve call to template member function in template base class lnicoara at thinkoid dot org
` (15 preceding siblings ...)
2023-09-08 20:27 ` mpolacek at gcc dot gnu.org
@ 2023-09-11 20:03 ` jason at gcc dot gnu.org
2023-09-11 22:11 ` [Bug c++/106310] [11 " cvs-commit at gcc dot gnu.org
2023-09-11 22:11 ` jason at gcc dot gnu.org
18 siblings, 0 replies; 20+ messages in thread
From: jason at gcc dot gnu.org @ 2023-09-11 20:03 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106310
Jason Merrill <jason at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|RESOLVED |ASSIGNED
Summary|[12/13 Regression] lookup |[11/12/13 Regression]
|after this-> seems wrong |lookup after this-> seems
|for dependent lookup since |wrong for dependent lookup
|r12-6754-g30f2c22def739211 |since
| |r12-6754-g30f2c22def739211
Target Milestone|12.4 |11.5
Resolution|FIXED |---
--- Comment #16 from Jason Merrill <jason at gcc dot gnu.org> ---
Reopening as 11 regression.
^ permalink raw reply [flat|nested] 20+ messages in thread
* [Bug c++/106310] [11 Regression] lookup after this-> seems wrong for dependent lookup since r12-6754-g30f2c22def739211
2022-07-14 23:46 [Bug c++/106310] New: Failure to resolve call to template member function in template base class lnicoara at thinkoid dot org
` (16 preceding siblings ...)
2023-09-11 20:03 ` [Bug c++/106310] [11/12/13 " jason at gcc dot gnu.org
@ 2023-09-11 22:11 ` cvs-commit at gcc dot gnu.org
2023-09-11 22:11 ` jason at gcc dot gnu.org
18 siblings, 0 replies; 20+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2023-09-11 22:11 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106310
--- Comment #17 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-11 branch has been updated by Jason Merrill
<jason@gcc.gnu.org>:
https://gcc.gnu.org/g:506d5f399bef7f2d8c48fd83d853c6ff7811a226
commit r11-10983-g506d5f399bef7f2d8c48fd83d853c6ff7811a226
Author: Jason Merrill <jason@redhat.com>
Date: Wed Jul 26 10:39:34 2023 -0400
c++: member vs global template [PR106310]
For backward compatibility we still want to allow patterns like
this->A<T>::foo, but the template keyword in a qualified name is
specifically to specify that a dependent name is a template, so don't look
in the enclosing scope at all.
Also fix handling of dependent bases: if member lookup in the current
instantiation fails and we have dependent bases, the lookup is dependent.
We were already handling that for the case where lookup in the enclosing
scope also fails, but we also want it to affect that lookup itself.
PR c++/106310
gcc/cp/ChangeLog:
* parser.c (cp_parser_template_name): Skip non-member
lookup after the template keyword.
(cp_parser_lookup_name): Pass down template_keyword_p.
gcc/testsuite/ChangeLog:
* g++.dg/template/template-keyword4.C: New test.
^ permalink raw reply [flat|nested] 20+ messages in thread
* [Bug c++/106310] [11 Regression] lookup after this-> seems wrong for dependent lookup since r12-6754-g30f2c22def739211
2022-07-14 23:46 [Bug c++/106310] New: Failure to resolve call to template member function in template base class lnicoara at thinkoid dot org
` (17 preceding siblings ...)
2023-09-11 22:11 ` [Bug c++/106310] [11 " cvs-commit at gcc dot gnu.org
@ 2023-09-11 22:11 ` jason at gcc dot gnu.org
18 siblings, 0 replies; 20+ messages in thread
From: jason at gcc dot gnu.org @ 2023-09-11 22:11 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106310
Jason Merrill <jason at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Resolution|--- |FIXED
Status|ASSIGNED |RESOLVED
--- Comment #18 from Jason Merrill <jason at gcc dot gnu.org> ---
Fixed for 11.5.
^ permalink raw reply [flat|nested] 20+ messages in thread