aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorTobias Burnus <burnus@net-b.de>2015-01-23 08:01:34 +0100
committerTobias Burnus <burnus@gcc.gnu.org>2015-01-23 08:01:34 +0100
commitc146acedf5139830c2a4b10e1bedbb2addd53dff (patch)
tree9f88e5feef789167125cad2494b6770178ebc85a /gcc
parent631ff3e1cd237abd8967aaec89846e4adc873e3c (diff)
downloadgcc-c146acedf5139830c2a4b10e1bedbb2addd53dff.zip
gcc-c146acedf5139830c2a4b10e1bedbb2addd53dff.tar.gz
gcc-c146acedf5139830c2a4b10e1bedbb2addd53dff.tar.bz2
re PR fortran/64726 ([OpenACC] ICE with -fopenacc and reduction(+:a))
2015-01-23 Tobias Burnus <burnus@net-b.de> PR fortran/64726 * trans-openmp.c (gfc_trans_oacc_combined_directive): Fix loop generation. 2015-01-23 Tobias Burnus <burnus@net-b.de> PR fortran/64726 * gfortran.dg/goacc/combined_loop.f90: New. From-SVN: r220028
Diffstat (limited to 'gcc')
-rw-r--r--gcc/fortran/ChangeLog6
-rw-r--r--gcc/fortran/trans-openmp.c2
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gfortran.dg/goacc/combined_loop.f9012
4 files changed, 24 insertions, 1 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index d2742c8..51d7b59 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,9 @@
+2015-01-23 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/64726
+ * trans-openmp.c (gfc_trans_oacc_combined_directive): Fix
+ loop generation.
+
2015-01-22 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/61933
diff --git a/gcc/fortran/trans-openmp.c b/gcc/fortran/trans-openmp.c
index fe47a96..cdd1885 100644
--- a/gcc/fortran/trans-openmp.c
+++ b/gcc/fortran/trans-openmp.c
@@ -3438,7 +3438,7 @@ gfc_trans_oacc_combined_directive (gfc_code *code)
pblock = &block;
else
pushlevel ();
- stmt = gfc_trans_omp_do (code, code->op, pblock, &loop_clauses, NULL);
+ stmt = gfc_trans_omp_do (code, EXEC_OACC_LOOP, pblock, &loop_clauses, NULL);
if (TREE_CODE (stmt) != BIND_EXPR)
stmt = build3_v (BIND_EXPR, NULL, stmt, poplevel (1, 0));
else
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 9207685..20528c3 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2015-01-23 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/64726
+ * gfortran.dg/goacc/combined_loop.f90: New.
+
2015-01-22 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/61933
diff --git a/gcc/testsuite/gfortran.dg/goacc/combined_loop.f90 b/gcc/testsuite/gfortran.dg/goacc/combined_loop.f90
new file mode 100644
index 0000000..b8be649
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/goacc/combined_loop.f90
@@ -0,0 +1,12 @@
+! { dg-do compile }
+!
+! PR fortran/64726
+!
+subroutine oacc1()
+ implicit none
+ integer :: i
+ integer :: a
+ !$acc parallel loop reduction(+:a) ! { dg-excess-errors "sorry, unimplemented: directive not yet implemented" }
+ do i = 1,5
+ enddo
+end subroutine oacc1