+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.
* 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.
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;
+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.
--- /dev/null
+// 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;
+}