[Bug c++/65186] internal compiler error: in tsubst, at cp/pt.c:11738

ppalka at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Sat Jul 11 22:10:00 GMT 2015


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65186

--- Comment #10 from Patrick Palka <ppalka at gcc dot gnu.org> ---
When I said that this PR is not a dup of c++/30044 I sadly failed to look at
#c1 and instead only looked at #c3.  The test case in #c1 does appear to
effectively be a dup of c++/30044, and with the fix for that PR now in trunk
this test case no longer ICEs, but now it fails with a compile error:

65186.cc:10:3: error: ‘C<x, x, x>’ is not a valid type for a template non-type
parameter
   C<x, x, x>>
   ^

This seems to be a bogus error because after instantiation C<x, x, x> will
resolve to int which is a valid type for the template parameter.  The fix for
this is simple.

The test cases in #c3 and in #c8 however exposes an entirely different bug than
the test case in #c1 (even though the ICE is the same).  I wonder what the
standard procedure here is.  Should this PR be split into two?


More information about the Gcc-bugs mailing list