aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@gcc.gnu.org>2013-11-20 17:02:36 +0000
committerEric Botcazou <ebotcazou@gcc.gnu.org>2013-11-20 17:02:36 +0000
commita9a130f5b732433cb7b1e185e499d0494ffcc2f9 (patch)
tree98f6e5e3dff8b9383bd1b11d72ae219e77c184b8
parentc34144fa60ee2e8b51fff62b75329ab2abae4c79 (diff)
downloadgcc-a9a130f5b732433cb7b1e185e499d0494ffcc2f9.zip
gcc-a9a130f5b732433cb7b1e185e499d0494ffcc2f9.tar.gz
gcc-a9a130f5b732433cb7b1e185e499d0494ffcc2f9.tar.bz2
re PR target/59207 (uninitialized local variable in sparc_fold_builtin)
PR target/59207 * config/sparc/sparc.c (sparc_fold_builtin) <case CODE_FOR_pdist_vis>: Make sure neg2_ovf is set before being used. From-SVN: r205127
-rw-r--r--gcc/ChangeLog14
-rw-r--r--gcc/config/sparc/sparc.c3
2 files changed, 12 insertions, 5 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 9e0d643..7a2ea53 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,10 +1,16 @@
+2013-11-20 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR target/59207
+ * config/sparc/sparc.c (sparc_fold_builtin) <case CODE_FOR_pdist_vis>:
+ Make sure neg2_ovf is set before being used.
+
2013-11-20 Basile Starynkevitch <basile@starynkevitch.net>
- * plugin.def: Add comment about register_callback and
- invoke_plugin_callbacks_full.
+ * plugin.def: Add comment about register_callback and
+ invoke_plugin_callbacks_full.
- * plugin.c (register_callback, invoke_plugin_callbacks_full):
- Handle PLUGIN_INCLUDE_FILE event.
+ * plugin.c (register_callback, invoke_plugin_callbacks_full):
+ Handle PLUGIN_INCLUDE_FILE event.
2013-11-20 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
diff --git a/gcc/config/sparc/sparc.c b/gcc/config/sparc/sparc.c
index cabf8f0..8bdc9bb 100644
--- a/gcc/config/sparc/sparc.c
+++ b/gcc/config/sparc/sparc.c
@@ -10658,7 +10658,8 @@ sparc_fold_builtin (tree fndecl, int n_args ATTRIBUTE_UNUSED,
tmp = e0.add_with_sign (tmp, false, &add1_ovf);
if (tmp.is_negative ())
tmp = tmp.neg_with_overflow (&neg2_ovf);
-
+ else
+ neg2_ovf = false;
result = result.add_with_sign (tmp, false, &add2_ovf);
overflow |= neg1_ovf | neg2_ovf | add1_ovf | add2_ovf;
}