* [Bug c++/56377] [4.8 Regression] <missing> template args in substitution-failure diagnostics
2013-02-18 16:05 [Bug c++/56377] New: [4.8 Regression] <missing> template args in substitution-failure diagnostics pl.smith.mail at gmail dot com
@ 2013-02-18 16:12 ` pl.smith.mail at gmail dot com
2013-02-18 16:16 ` paolo.carlini at oracle dot com
` (9 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: pl.smith.mail at gmail dot com @ 2013-02-18 16:12 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56377
--- Comment #1 from Paul Smith <pl.smith.mail at gmail dot com> 2013-02-18 16:12:00 UTC ---
Looks like this was introduced in rev. 190664, with the merging of
'deduction_tsubst_fntype' into 'fn_type_unification'.
The instantiation context is constructed with 'targs' as the vector of template
arguments, which is still empty when substituting the explicit arguments into
the function type the first time. This can be fixed by either constructing the
instantiation context using 'explicit_targs' when non-null, or by copying
'explicit_targs' into 'targs' before the substitution.
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug c++/56377] [4.8 Regression] <missing> template args in substitution-failure diagnostics
2013-02-18 16:05 [Bug c++/56377] New: [4.8 Regression] <missing> template args in substitution-failure diagnostics pl.smith.mail at gmail dot com
2013-02-18 16:12 ` [Bug c++/56377] " pl.smith.mail at gmail dot com
@ 2013-02-18 16:16 ` paolo.carlini at oracle dot com
2013-02-19 9:33 ` rguenth at gcc dot gnu.org
` (8 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: paolo.carlini at oracle dot com @ 2013-02-18 16:16 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56377
Paolo Carlini <paolo.carlini at oracle dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Last reconfirmed| |2013-02-18
CC| |jason at gcc dot gnu.org
Ever Confirmed|0 |1
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug c++/56377] [4.8 Regression] <missing> template args in substitution-failure diagnostics
2013-02-18 16:05 [Bug c++/56377] New: [4.8 Regression] <missing> template args in substitution-failure diagnostics pl.smith.mail at gmail dot com
2013-02-18 16:12 ` [Bug c++/56377] " pl.smith.mail at gmail dot com
2013-02-18 16:16 ` paolo.carlini at oracle dot com
@ 2013-02-19 9:33 ` rguenth at gcc dot gnu.org
2013-02-19 9:58 ` jakub at gcc dot gnu.org
` (7 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: rguenth at gcc dot gnu.org @ 2013-02-19 9:33 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56377
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|--- |4.8.0
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug c++/56377] [4.8 Regression] <missing> template args in substitution-failure diagnostics
2013-02-18 16:05 [Bug c++/56377] New: [4.8 Regression] <missing> template args in substitution-failure diagnostics pl.smith.mail at gmail dot com
` (2 preceding siblings ...)
2013-02-19 9:33 ` rguenth at gcc dot gnu.org
@ 2013-02-19 9:58 ` jakub at gcc dot gnu.org
2013-02-20 14:52 ` rguenth at gcc dot gnu.org
` (6 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: jakub at gcc dot gnu.org @ 2013-02-19 9:58 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56377
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |jakub at gcc dot gnu.org
--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> 2013-02-19 09:58:16 UTC ---
Yeah, diff between r190663 and r190664 output is:
-pr56377.C: In substitution of ‘template<class T> typename T::type f() [with T
= int]’:
+pr56377.C: In substitution of ‘template<class T> typename T::type f() [with T
= <missing>]’:
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug c++/56377] [4.8 Regression] <missing> template args in substitution-failure diagnostics
2013-02-18 16:05 [Bug c++/56377] New: [4.8 Regression] <missing> template args in substitution-failure diagnostics pl.smith.mail at gmail dot com
` (3 preceding siblings ...)
2013-02-19 9:58 ` jakub at gcc dot gnu.org
@ 2013-02-20 14:52 ` rguenth at gcc dot gnu.org
2013-02-22 15:58 ` jason at gcc dot gnu.org
` (5 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: rguenth at gcc dot gnu.org @ 2013-02-20 14:52 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56377
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords| |diagnostic
Priority|P3 |P1
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug c++/56377] [4.8 Regression] <missing> template args in substitution-failure diagnostics
2013-02-18 16:05 [Bug c++/56377] New: [4.8 Regression] <missing> template args in substitution-failure diagnostics pl.smith.mail at gmail dot com
` (4 preceding siblings ...)
2013-02-20 14:52 ` rguenth at gcc dot gnu.org
@ 2013-02-22 15:58 ` jason at gcc dot gnu.org
2013-02-22 22:25 ` jason at gcc dot gnu.org
` (4 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: jason at gcc dot gnu.org @ 2013-02-22 15:58 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56377
Jason Merrill <jason at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |ASSIGNED
AssignedTo|unassigned at gcc dot |jason at gcc dot gnu.org
|gnu.org |
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug c++/56377] [4.8 Regression] <missing> template args in substitution-failure diagnostics
2013-02-18 16:05 [Bug c++/56377] New: [4.8 Regression] <missing> template args in substitution-failure diagnostics pl.smith.mail at gmail dot com
` (5 preceding siblings ...)
2013-02-22 15:58 ` jason at gcc dot gnu.org
@ 2013-02-22 22:25 ` jason at gcc dot gnu.org
2013-02-23 1:59 ` jason at gcc dot gnu.org
` (3 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: jason at gcc dot gnu.org @ 2013-02-22 22:25 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56377
--- Comment #3 from Jason Merrill <jason at gcc dot gnu.org> 2013-02-22 22:24:40 UTC ---
Author: jason
Date: Fri Feb 22 22:24:27 2013
New Revision: 196230
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=196230
Log:
PR c++/56377
* pt.c (fn_type_unification): Use explicit args in template
instantiation context.
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/pt.c
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug c++/56377] [4.8 Regression] <missing> template args in substitution-failure diagnostics
2013-02-18 16:05 [Bug c++/56377] New: [4.8 Regression] <missing> template args in substitution-failure diagnostics pl.smith.mail at gmail dot com
` (6 preceding siblings ...)
2013-02-22 22:25 ` jason at gcc dot gnu.org
@ 2013-02-23 1:59 ` jason at gcc dot gnu.org
2013-02-23 15:16 ` pl.smith.mail at gmail dot com
` (2 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: jason at gcc dot gnu.org @ 2013-02-23 1:59 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56377
Jason Merrill <jason at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution| |FIXED
--- Comment #4 from Jason Merrill <jason at gcc dot gnu.org> 2013-02-23 01:59:20 UTC ---
Fixed.
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug c++/56377] [4.8 Regression] <missing> template args in substitution-failure diagnostics
2013-02-18 16:05 [Bug c++/56377] New: [4.8 Regression] <missing> template args in substitution-failure diagnostics pl.smith.mail at gmail dot com
` (7 preceding siblings ...)
2013-02-23 1:59 ` jason at gcc dot gnu.org
@ 2013-02-23 15:16 ` pl.smith.mail at gmail dot com
2013-02-26 4:28 ` jason at gcc dot gnu.org
2013-02-26 4:29 ` jason at gcc dot gnu.org
10 siblings, 0 replies; 12+ messages in thread
From: pl.smith.mail at gmail dot com @ 2013-02-23 15:16 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56377
Paul Smith <pl.smith.mail at gmail dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|RESOLVED |REOPENED
Resolution|FIXED |
--- Comment #5 from Paul Smith <pl.smith.mail at gmail dot com> 2013-02-23 15:15:47 UTC ---
There can still be <missing> arguments before the substitution:
template <int N>
void f() {
f<N + 1>();
}
int main() {
f<0>();
}
Output:
test.cpp:3:11: error: template instantiation depth exceeds maximum of 900 (use
-ftemplate-depth= to increase the maximum) substituting ‘template<int N> void
f() [with int N = <missing>]’
f<N + 1>();
^
...
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug c++/56377] [4.8 Regression] <missing> template args in substitution-failure diagnostics
2013-02-18 16:05 [Bug c++/56377] New: [4.8 Regression] <missing> template args in substitution-failure diagnostics pl.smith.mail at gmail dot com
` (8 preceding siblings ...)
2013-02-23 15:16 ` pl.smith.mail at gmail dot com
@ 2013-02-26 4:28 ` jason at gcc dot gnu.org
2013-02-26 4:29 ` jason at gcc dot gnu.org
10 siblings, 0 replies; 12+ messages in thread
From: jason at gcc dot gnu.org @ 2013-02-26 4:28 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56377
--- Comment #6 from Jason Merrill <jason at gcc dot gnu.org> 2013-02-26 04:28:04 UTC ---
Author: jason
Date: Tue Feb 26 04:27:51 2013
New Revision: 196275
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=196275
Log:
PR c++/56377
* pt.c (fn_type_unification): Wait to call push_tinst_level until
we know what args we're looking at.
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/pt.c
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug c++/56377] [4.8 Regression] <missing> template args in substitution-failure diagnostics
2013-02-18 16:05 [Bug c++/56377] New: [4.8 Regression] <missing> template args in substitution-failure diagnostics pl.smith.mail at gmail dot com
` (9 preceding siblings ...)
2013-02-26 4:28 ` jason at gcc dot gnu.org
@ 2013-02-26 4:29 ` jason at gcc dot gnu.org
10 siblings, 0 replies; 12+ messages in thread
From: jason at gcc dot gnu.org @ 2013-02-26 4:29 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56377
Jason Merrill <jason at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|REOPENED |RESOLVED
Resolution| |FIXED
--- Comment #7 from Jason Merrill <jason at gcc dot gnu.org> 2013-02-26 04:29:17 UTC ---
Should really be fixed now.
^ permalink raw reply [flat|nested] 12+ messages in thread