Testcase: template <typename _Tp> struct __add_const_lvalue_reference; template<typename... _Elements> class tuple { tuple(typename __add_const_lvalue_reference<_Elements>::type ...) ; }; tuple<int&, int&, int&> i; --------- CUT ----- Found while cutting down PR 33091. This is a regression because the error message was ok in 4.2.0 and before. On the trunk we get: t.cc: In instantiation of 'tuple<#'argument_pack_select' not supported by dump_expr#<expression error> >': t.cc:8: instantiated from here t.cc:6: error: invalid use of incomplete type 'struct __add_const_lvalue_reference<int&>'
*** Bug 33214 has been marked as a duplicate of this bug. ***
Confirmed, based on dup.
On it.
Subject: Bug 33118 Author: paolo Date: Fri Sep 28 15:10:13 2007 New Revision: 128866 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=128866 Log: 2007-09-28 Paolo Carlini <pcarlini@suse.de> PR c++/33118 * error.c (dump_expr): Deal with ARGUMENT_PACK_SELECT. (dump_type): Use dump_template_argument for TYPE_ARGUMENT_PACK. (dump_parameters): Just call dump_type for argument packs too. Modified: trunk/gcc/cp/ChangeLog trunk/gcc/cp/error.c
Fixed.