aboutsummaryrefslogtreecommitdiff
path: root/gcc/omp-low.c
diff options
context:
space:
mode:
authorMarek Polacek <polacek@redhat.com>2014-01-08 15:37:35 +0000
committerMarek Polacek <mpolacek@gcc.gnu.org>2014-01-08 15:37:35 +0000
commitab04b46efc42eda6fe74b5fb4551409d29538777 (patch)
treeb17ff64d436854036e7cc189919357e011c8a37a /gcc/omp-low.c
parent2a537fa74e256265925390d687d1f5212494e19b (diff)
downloadgcc-ab04b46efc42eda6fe74b5fb4551409d29538777.zip
gcc-ab04b46efc42eda6fe74b5fb4551409d29538777.tar.gz
gcc-ab04b46efc42eda6fe74b5fb4551409d29538777.tar.bz2
re PR middle-end/59669 (ICE: SIGSEGV with #pragma omp declare simd linear)
PR middle-end/59669 * omp-low.c (simd_clone_adjust): Don't crash if def is NULL. testsuite/ * gcc.dg/gomp/pr59669-1.c: New test. * gcc.dg/gomp/pr59669-2.c: New test. From-SVN: r206431
Diffstat (limited to 'gcc/omp-low.c')
-rw-r--r--gcc/omp-low.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/omp-low.c b/gcc/omp-low.c
index f1ec1c6..05513ee 100644
--- a/gcc/omp-low.c
+++ b/gcc/omp-low.c
@@ -11537,7 +11537,7 @@ simd_clone_adjust (struct cgraph_node *node)
unsigned int alignment = node->simdclone->args[i].alignment;
tree orig_arg = node->simdclone->args[i].orig_arg;
tree def = ssa_default_def (cfun, orig_arg);
- if (!has_zero_uses (def))
+ if (def && !has_zero_uses (def))
{
tree fn = builtin_decl_explicit (BUILT_IN_ASSUME_ALIGNED);
gimple_seq seq = NULL;
@@ -11587,7 +11587,7 @@ simd_clone_adjust (struct cgraph_node *node)
tree def = ssa_default_def (cfun, orig_arg);
gcc_assert (INTEGRAL_TYPE_P (TREE_TYPE (orig_arg))
|| POINTER_TYPE_P (TREE_TYPE (orig_arg)));
- if (!has_zero_uses (def))
+ if (def && !has_zero_uses (def))
{
iter1 = make_ssa_name (orig_arg, NULL);
iter2 = make_ssa_name (orig_arg, NULL);