[Bug c++/65390] ICE in strip_typedefs, at cp/tree.c:1361
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65390 --- Comment #7 from Marek Polacek mpolacek at gcc dot gnu.org --- Author: mpolacek Date: Tue Mar 31 17:35:29 2015 New Revision: 221799 URL: https://gcc.gnu.org/viewcvs?rev=221799root=gccview=rev Log: PR c++/65390 * tree.c (build_cplus_array_type): Use dependent_type_p rather than checking for constness. * g++.dg/template/pr65390.C: New test. Added: trunk/gcc/testsuite/g++.dg/template/pr65390.C Modified: trunk/gcc/cp/ChangeLog trunk/gcc/cp/tree.c trunk/gcc/testsuite/ChangeLog
[Bug c++/65390] ICE in strip_typedefs, at cp/tree.c:1361
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65390 Marek Polacek mpolacek at gcc dot gnu.org changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |FIXED Target Milestone|--- |5.0 --- Comment #8 from Marek Polacek mpolacek at gcc dot gnu.org --- Fixed for GCC 5.
[Bug c++/65390] ICE in strip_typedefs, at cp/tree.c:1361
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65390 Kai Tietz ktietz at gcc dot gnu.org changed: What|Removed |Added Keywords||ice-on-invalid-code CC||ktietz at gcc dot gnu.org --- Comment #4 from Kai Tietz ktietz at gcc dot gnu.org --- This sample is undefined behavior. It will use delete on the allocated memory, and not delete [] as it would need. Additionally the type 'int [n]' is no valid type for template argument.
[Bug c++/65390] ICE in strip_typedefs, at cp/tree.c:1361
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65390 --- Comment #6 from Jonathan Wakely redi at gcc dot gnu.org --- Further reduced so it doesn't rely on any C++11 or C++14 features: templatetypename T struct shared_ptr { }; templatetypename T, typename Arg shared_ptrT make_shared(Arg) { return shared_ptrT(); } void f(int n){ make_sharedint[n](1); }
[Bug c++/65390] ICE in strip_typedefs, at cp/tree.c:1361
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65390 --- Comment #5 from Jonathan Wakely redi at gcc dot gnu.org --- Reduced: templatetypename T struct shared_ptr { }; templatetypename T, typename Arg shared_ptrT make_shared(Arg) { return {}; } auto f(int n){ return make_sharedint[n](1); }
[Bug c++/65390] ICE in strip_typedefs, at cp/tree.c:1361
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65390 Marek Polacek mpolacek at gcc dot gnu.org changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2015-03-16 CC||mpolacek at gcc dot gnu.org Ever confirmed|0 |1 --- Comment #1 from Marek Polacek mpolacek at gcc dot gnu.org --- Confirmed. It appears that 4.9/4.8 ICE too.
[Bug c++/65390] ICE in strip_typedefs, at cp/tree.c:1361
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65390 --- Comment #2 from Marek Polacek mpolacek at gcc dot gnu.org --- Might be a dup of PR63584.
[Bug c++/65390] ICE in strip_typedefs, at cp/tree.c:1361
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65390 --- Comment #3 from Alexander Klimov alserkli at inbox dot ru --- (In reply to Marek Polacek from comment #2) Might be a dup of PR63584. PR63584 does not produce ICE in 5.0