* tree-inline.c (remap_ssa_name): Initialize variable only if
SSA_NAME_OCCURS_IN_ABNORMAL_PHI.
testsuite/
PR tree-optimization/39799
* c-c++-common/uninit-17.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161605
138bc75d-0d04-0410-961f-
82ee72b054a4
+2010-06-30 Bernd Schmidt <bernds@codesourcery.com>
+
+ PR tree-optimization/39799
+ * tree-inline.c (remap_ssa_name): Initialize variable only if
+ SSA_NAME_OCCURS_IN_ABNORMAL_PHI.
+
2010-06-30 Nathan Froyd <froydnj@codesourcery.com>
* c-parser.c (c_parser_omp_for_loop): Use a VEC for for_block.
+2010-06-30 Bernd Schmidt <bernds@codesourcery.com>
+
+ PR tree-optimization/39799
+ * c-c++-common/uninit-17.c: New test.
+
2010-06-29 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/43298
--- /dev/null
+/* { dg-do compile } */
+/* { dg-options "-O2 -Wuninitialized" } */
+
+inline int foo(int x)
+{
+ return x;
+}
+static void bar(int a, int *ptr)
+{
+ do
+ {
+ int b; /* { dg-message "note: 'b' was declared here" } */
+ if (b < 40) {
+ ptr[0] = b; /* { dg-warning "may be used uninitialized" } */
+ }
+ b += 1;
+ ptr++;
+ }
+ while (--a != 0);
+}
+void foobar(int a, int *ptr)
+{
+ bar(foo(a), ptr);
+}
+
regions of the CFG, but this is expensive to test. */
if (id->entry_bb
&& is_gimple_reg (SSA_NAME_VAR (name))
+ && SSA_NAME_OCCURS_IN_ABNORMAL_PHI (name)
&& TREE_CODE (SSA_NAME_VAR (name)) != PARM_DECL
&& (id->entry_bb != EDGE_SUCC (ENTRY_BLOCK_PTR, 0)->dest
|| EDGE_COUNT (id->entry_bb->preds) != 1))