re PR c++/39803 (Bogus 'unused value' warning on declarations of non-POD arrays)
PR c++/39803 * gcc/cp/init.c (build_vec_init): Set TREE_NO_WARNING on the compiler-generated INDIRECT_REF expression. * gcc/testsuite/g++.dg/warn/Wunused-14.C: New test. From-SVN: r146454
This commit is contained in:
parent
6e0f0975e5
commit
311fa510e6
@ -1,3 +1,9 @@
|
||||
2009-04-20 Le-Chun Wu <lcwu@google.com>
|
||||
|
||||
PR c++/39803
|
||||
* init.c (build_vec_init): Set TREE_NO_WARNING on the
|
||||
compiler-generated INDIRECT_REF expression.
|
||||
|
||||
2009-04-20 Ian Lance Taylor <iant@google.com>
|
||||
|
||||
* typeck.c (build_function_call_vec): New function.
|
||||
@ -34,7 +40,7 @@
|
||||
* cp-tree.h (enum tsubst_flags): Rename from enum tsubst_flags_t.
|
||||
(tsubst_flags_t): Change typedef from enum type to int.
|
||||
|
||||
2009-04-16 Le-Chun Wu <lcwu@google.com>
|
||||
2009-04-16 Paolo Bonzini <bonzini@gnu.org>
|
||||
|
||||
* decl.c (check_initializer): Use TYPE_VECTOR_OPAQUE
|
||||
instead of targetm.vector_opaque_p.
|
||||
|
@ -2920,6 +2920,7 @@ build_vec_init (tree base, tree maxindex, tree init,
|
||||
atype = build_pointer_type (atype);
|
||||
stmt_expr = build1 (NOP_EXPR, atype, stmt_expr);
|
||||
stmt_expr = cp_build_indirect_ref (stmt_expr, NULL, complain);
|
||||
TREE_NO_WARNING (stmt_expr) = 1;
|
||||
}
|
||||
|
||||
current_stmt_tree ()->stmts_are_full_exprs_p = destroy_temps;
|
||||
|
@ -1,3 +1,8 @@
|
||||
2009-04-20 Le-Chun Wu <lcwu@google.com>
|
||||
|
||||
PR c++/39803
|
||||
* g++.dg/warn/Wunused-14.C: New test.
|
||||
|
||||
2009-04-20 Eric Botcazou <ebotcazou@adacore.com>
|
||||
|
||||
* gnat.dg/specs/small_alignment.ads: New test.
|
||||
|
14
gcc/testsuite/g++.dg/warn/Wunused-14.C
Normal file
14
gcc/testsuite/g++.dg/warn/Wunused-14.C
Normal file
@ -0,0 +1,14 @@
|
||||
// Test that -Wunused should not emit a warning on the initialization of
|
||||
// non-POD arrays. See PR c++/39803.
|
||||
// { dg-do compile }
|
||||
// { dg-options "-Wunused" }
|
||||
|
||||
#include <utility>
|
||||
|
||||
using std::pair;
|
||||
|
||||
int foo() {
|
||||
pair<int, const char*> components[3]; // { dg-bogus "value computed is not used" }
|
||||
components[0].first = 0;
|
||||
return 0;
|
||||
}
|
Loading…
Reference in New Issue
Block a user