[Bug c++/53039] [4.7 Regression] including <functional> breaks std::is_convertible with template-pack expansion
jason at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Thu Nov 29 20:18:00 GMT 2012
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53039
--- Comment #20 from Jason Merrill <jason at gcc dot gnu.org> 2012-11-29 20:16:57 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
More information about the Gcc-bugs
mailing list