mirror of git://gcc.gnu.org/git/gcc.git
re PR c++/49251 ([C++0x][parameter pack expanding] unused parameter warning with unpacking empty tuples)
PR c++/49251 * semantics.c (finish_id_expression): Mark even dependent variables as used. From-SVN: r175119
This commit is contained in:
parent
89a27d8fa2
commit
80390766bd
|
@ -1,5 +1,9 @@
|
|||
2011-06-16 Jason Merrill <jason@redhat.com>
|
||||
|
||||
PR c++/49251
|
||||
* semantics.c (finish_id_expression): Mark even dependent
|
||||
variables as used.
|
||||
|
||||
PR c++/49420
|
||||
* error.c (dump_template_argument): Don't try to omit default
|
||||
template args from an argument pack.
|
||||
|
|
|
@ -3196,7 +3196,10 @@ finish_id_expression (tree id_expression,
|
|||
(or an instantiation thereof). */
|
||||
if (TREE_CODE (decl) == VAR_DECL
|
||||
|| TREE_CODE (decl) == PARM_DECL)
|
||||
return convert_from_reference (decl);
|
||||
{
|
||||
mark_used (decl);
|
||||
return convert_from_reference (decl);
|
||||
}
|
||||
/* The same is true for FIELD_DECL, but we also need to
|
||||
make sure that the syntax is correct. */
|
||||
else if (TREE_CODE (decl) == FIELD_DECL)
|
||||
|
|
|
@ -1,5 +1,8 @@
|
|||
2011-06-16 Jason Merrill <jason@redhat.com>
|
||||
|
||||
PR c++/49251
|
||||
* g++.dg/cpp0x/variadic113.C: New.
|
||||
|
||||
PR c++/49420
|
||||
* g++.dg/cpp0x/variadic112.C: New.
|
||||
|
||||
|
|
|
@ -0,0 +1,20 @@
|
|||
// PR c++/49251
|
||||
// { dg-options "-std=c++0x -Wunused-parameter" }
|
||||
|
||||
struct A {};
|
||||
template <int> int f(A);
|
||||
|
||||
template< int... Indices >
|
||||
struct indices {};
|
||||
|
||||
template< class... Args >
|
||||
void sink( Args&&... ) {}
|
||||
|
||||
template< class T, int... Indices >
|
||||
void unpack_test( T && t, indices<Indices...> ) {
|
||||
sink( f<Indices>(t)... );
|
||||
}
|
||||
|
||||
int main() {
|
||||
unpack_test( A(), indices<>() );
|
||||
}
|
Loading…
Reference in New Issue