Commit d07f8c59 by Richard Biener Committed by Richard Biener

re PR middle-end/78295 (Spurious -Wuninitialized warning for vector element assignment)

2016-11-11  Richard Biener  <rguenther@suse.de>

	PR middle-end/78295
	* tree-ssa-uninit.c (warn_uninitialized_vars): Do not warn
	about uninitialized destination arg of BIT_INSERT_EXPR.

	* gcc.dg/uninit-pr78295.c: New testcase.

From-SVN: r242068
parent 495d8b0f
2016-11-11 Richard Biener <rguenther@suse.de>
PR middle-end/78295
* tree-ssa-uninit.c (warn_uninitialized_vars): Do not warn
about uninitialized destination arg of BIT_INSERT_EXPR.
2016-11-10 Sandra Loosemore <sandra@codesourcery.com>
PR c/37998
2016-11-11 Richard Biener <rguenther@suse.de>
PR middle-end/78295
* gcc.dg/uninit-pr78295.c: New testcase.
2016-11-10 Fritz O. Reese <fritzoreese@gmail.com>
PR fortran/78277
......
/* { dg-do compile } */
/* { dg-options "-O2 -Wall" } */
typedef double vectype __attribute__ ((__vector_size__ (16)));
vectype
f (double x)
{
vectype t;
for (int i = 0; i < 2; i++)
t[i] = x; /* { dg-bogus "uninitialized" } */
return t;
}
......@@ -212,6 +212,14 @@ warn_uninitialized_vars (bool warn_possibly_uninitialized)
can warn about. */
FOR_EACH_SSA_USE_OPERAND (use_p, stmt, op_iter, SSA_OP_USE)
{
/* BIT_INSERT_EXPR first operand should not be considered
a use for the purpose of uninit warnings. */
if (gassign *ass = dyn_cast <gassign *> (stmt))
{
if (gimple_assign_rhs_code (ass) == BIT_INSERT_EXPR
&& use_p->use == gimple_assign_rhs1_ptr (ass))
continue;
}
use = USE_FROM_PTR (use_p);
if (always_executed)
warn_uninit (OPT_Wuninitialized, use, SSA_NAME_VAR (use),
......
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