mirror of git://gcc.gnu.org/git/gcc.git
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
This commit is contained in:
parent
495d8b0f03
commit
d07f8c591a
|
|
@ -1,3 +1,9 @@
|
||||||
|
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>
|
2016-11-10 Sandra Loosemore <sandra@codesourcery.com>
|
||||||
|
|
||||||
PR c/37998
|
PR c/37998
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,8 @@
|
||||||
|
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>
|
2016-11-10 Fritz O. Reese <fritzoreese@gmail.com>
|
||||||
|
|
||||||
PR fortran/78277
|
PR fortran/78277
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,13 @@
|
||||||
|
/* { 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. */
|
can warn about. */
|
||||||
FOR_EACH_SSA_USE_OPERAND (use_p, stmt, op_iter, SSA_OP_USE)
|
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);
|
use = USE_FROM_PTR (use_p);
|
||||||
if (always_executed)
|
if (always_executed)
|
||||||
warn_uninit (OPT_Wuninitialized, use, SSA_NAME_VAR (use),
|
warn_uninit (OPT_Wuninitialized, use, SSA_NAME_VAR (use),
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue