Commit 2ef16b6e by Jakub Jelinek Committed by Jakub Jelinek

re PR c++/71442 (r232569 breaks -Wunused-*)

	PR c++/71442
	* pt.c (tsubst_copy): Only set TREE_USED on DECLs.

	* g++.dg/cpp0x/Wunused-variable-1.C: New test.

From-SVN: r237232
parent 5e3ee346
2016-06-08 Jakub Jelinek <jakub@redhat.com>
PR c++/71442
* pt.c (tsubst_copy): Only set TREE_USED on DECLs.
2016-06-06 Jakub Jelinek <jakub@redhat.com>
Patrick Palka <ppalka@gcc.gnu.org>
......
......@@ -14160,7 +14160,8 @@ tsubst_copy (tree t, tree args, tsubst_flags_t complain, tree in_decl)
len = TREE_VEC_LENGTH (expanded);
/* Set TREE_USED for the benefit of -Wunused. */
for (int i = 0; i < len; i++)
TREE_USED (TREE_VEC_ELT (expanded, i)) = true;
if (DECL_P (TREE_VEC_ELT (expanded, i)))
TREE_USED (TREE_VEC_ELT (expanded, i)) = true;
}
if (expanded == error_mark_node)
......
2016-06-08 Jakub Jelinek <jakub@redhat.com>
PR c++/71442
* g++.dg/cpp0x/Wunused-variable-1.C: New test.
2016-06-08 Alan Lawrence <alan.lawrence@arm.com>
* gcc.target/aarch64/aapcs64/aapcs64.exp: Also execute rec_*.c
......
// PR c++/71442
// { dg-do compile { target c++11 } }
// { dg-options "-Wunused-variable" }
struct C
{
template<typename... Ts>
int operator()(Ts &&...)
{
return sizeof...(Ts);
}
};
int
foo ()
{
C {} (1, 1L, 1LL, 1.0);
}
template<int N>
void
bar ()
{
char a; // { dg-warning "unused variable" }
short b; // { dg-warning "unused variable" }
int c; // { dg-warning "unused variable" }
long d; // { dg-warning "unused variable" }
long long e; // { dg-warning "unused variable" }
float f; // { dg-warning "unused variable" }
double g; // { dg-warning "unused variable" }
}
void
baz ()
{
bar <0> ();
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment