From 5b4fc8fb033e355883549d897de17d9c01edd8f2 Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Mon, 13 Mar 2006 20:36:19 +0100 Subject: [PATCH] re PR middle-end/25989 (gomp ICE with -O2 and schedule(guided)) PR middle-end/25989 * omp-low.c (expand_omp_for_generic): Mark istart0 and iend0 as addressable. * gcc.dg/gomp/pr25989.c: New test. From-SVN: r112023 --- gcc/ChangeLog | 6 ++++++ gcc/omp-low.c | 4 +++- gcc/testsuite/ChangeLog | 5 +++++ gcc/testsuite/gcc.dg/gomp/pr25989.c | 16 ++++++++++++++++ 4 files changed, 30 insertions(+), 1 deletion(-) create mode 100644 gcc/testsuite/gcc.dg/gomp/pr25989.c diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c5e642c5e10..2d47b362156 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2006-03-13 Jakub Jelinek + + PR middle-end/25989 + * omp-low.c (expand_omp_for_generic): Mark istart0 + and iend0 as addressable. + 2006-03-13 Jie Zhang * config/bfin/uclinux.h: Define _GNU_SOURCE in CPLUSPLUS_CPP_SPEC. diff --git a/gcc/omp-low.c b/gcc/omp-low.c index 0a9c96fb0de..65f7151b0ce 100644 --- a/gcc/omp-low.c +++ b/gcc/omp-low.c @@ -3,7 +3,7 @@ marshalling to implement data sharing and copying clauses. Contributed by Diego Novillo - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GCC. @@ -2430,6 +2430,8 @@ expand_omp_for_generic (struct omp_region *region, istart0 = create_tmp_var (long_integer_type_node, ".istart0"); iend0 = create_tmp_var (long_integer_type_node, ".iend0"); + TREE_ADDRESSABLE (istart0) = 1; + TREE_ADDRESSABLE (iend0) = 1; l0 = create_artificial_label (); l1 = create_artificial_label (); diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index e998c9d1b0b..b47252a9bb9 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2006-03-13 Jakub Jelinek + + PR middle-end/25989 + * gcc.dg/gomp/pr25989.c: New test. + 2006-03-13 Jeff Law * gcc.dg/tree-ssa/20030807-2.c: No longer expected to fail. diff --git a/gcc/testsuite/gcc.dg/gomp/pr25989.c b/gcc/testsuite/gcc.dg/gomp/pr25989.c new file mode 100644 index 00000000000..39bd4b77c5e --- /dev/null +++ b/gcc/testsuite/gcc.dg/gomp/pr25989.c @@ -0,0 +1,16 @@ +/* PR middle-end/25989 */ +/* { dg-do compile } */ +/* { dg-options "-O2 -fopenmp" } */ + +int +main (void) +{ + int i, j; + float a, b = 1.0; + +#pragma omp parallel for schedule(guided,1) private(j) + for (i = 1; i <= 9; i++) + for (j = 1; j <= 9; j++) + a = b; + return 0; +} -- 2.30.2