http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50852
--- Comment #8 from Jason Merrill <jason at gcc dot gnu.org> 2012-11-29 20:16:56 UTC --- Author: jason Date: Thu Nov 29 20:16:46 2012 New Revision: 193955 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=193955 Log: PR c++/50852 PR c++/53039 * tree.c (strip_typedefs_expr): New. * cp-tree.h: Declare it. * pt.c (convert_template_argument, unify): Use it. * parser.c (cp_parser_template_declaration_after_export): Don't call fixup_template_parms. * cp-tree.h (TEMPLATE_PARM_NUM_SIBLINGS): Remove. (struct template_parm_index_s): Remove num_siblings. * pt.c (fixup_template_parms, fixup_template_parm_index): Remove. (fixup_template_type_parm_type): Remove. (build_template_parm_index): Remove num_siblings parm. (process_template_parm): Likewise. * parser.c (cp_parser_template_parameter_list): Adjust. * tree.c (cp_tree_equal): Don't compare num_siblings. * typeck.c (comp_template_parms_position): Likewise. * pt.c (arg_from_parm_pack_p): Go back to using same_type_p or cp_tree_equal. Added: branches/gcc-4_7-branch/gcc/testsuite/g++.dg/cpp0x/alias-decl-20.C branches/gcc-4_7-branch/gcc/testsuite/g++.dg/cpp0x/variadic133.C branches/gcc-4_7-branch/gcc/testsuite/g++.dg/template/typedef39.C Modified: branches/gcc-4_7-branch/gcc/cp/ChangeLog branches/gcc-4_7-branch/gcc/cp/cp-tree.h branches/gcc-4_7-branch/gcc/cp/parser.c branches/gcc-4_7-branch/gcc/cp/pt.c branches/gcc-4_7-branch/gcc/cp/tree.c branches/gcc-4_7-branch/gcc/cp/typeck.c branches/gcc-4_7-branch/gcc/testsuite/ChangeLog branches/gcc-4_7-branch/gcc/testsuite/g++.dg/template/param1.C