https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88419
--- Comment #7 from Jason Merrill <jason at gcc dot gnu.org> --- Author: jason Date: Thu Feb 21 23:07:12 2019 New Revision: 269080 URL: https://gcc.gnu.org/viewcvs?rev=269080&root=gcc&view=rev Log: PR c++/88419 - C++17 ICE with class template arg deduction. Just like in make_constrained_auto, we need to defer setting TYPE_CANONICAL until we've set fields that will affect structural_comptypes. * pt.c (make_template_placeholder): Set TYPE_CANONICAL after CLASS_PLACEHOLDER_TEMPLATE. Added: trunk/gcc/testsuite/g++.dg/cpp1z/class-deduction62.C Modified: trunk/gcc/cp/ChangeLog trunk/gcc/cp/pt.c