Cesar Philippidis
e7ff0319f3
re PR middle-end/70626 (bogus results in 'acc parallel loop' reductions)
gcc/c-family/
PR middle-end/70626
* c-common.h (c_oacc_split_loop_clauses): Add boolean argument.
* c-omp.c (c_oacc_split_loop_clauses): Use it to duplicate
reduction clauses in acc parallel loops.
gcc/c/
PR middle-end/70626
* c-parser.c (c_parser_oacc_loop): Don't augment mask with
OACC_LOOP_CLAUSE_MASK.
(c_parser_oacc_kernels_parallel): Update call to
c_oacc_split_loop_clauses.
gcc/cp/
PR middle-end/70626
* parser.c (cp_parser_oacc_loop): Don't augment mask with
OACC_LOOP_CLAUSE_MASK.
(cp_parser_oacc_kernels_parallel): Update call to
c_oacc_split_loop_clauses.
gcc/fortran/
PR middle-end/70626
* trans-openmp.c (gfc_trans_oacc_combined_directive): Duplicate
the reduction clause in both parallel and loop directives.
gcc/testsuite/
PR middle-end/70626
* c-c++-common/goacc/combined-reduction.c: New test.
* gfortran.dg/goacc/reduction-2.f95: Add check for kernels reductions.
libgomp/
PR middle-end/70626
* testsuite/libgomp.oacc-c++/template-reduction.C: Adjust test.
* testsuite/libgomp.oacc-c-c++-common/combined-reduction.c: New test.
* testsuite/libgomp.oacc-fortran/combined-reduction.f90: New test.
From-SVN: r235651
2016-04-29 10:42:04 -07:00
..
2016-01-04 15:30:50 +01:00
2016-04-21 16:11:47 +03:00
2016-04-29 10:42:04 -07:00
2015-05-13 11:24:38 +00:00
2016-01-04 15:30:50 +01:00
2016-01-04 15:30:50 +01:00
2016-04-29 10:42:04 -07:00
2016-01-19 11:35:10 +01:00
2016-02-02 13:48:31 +01:00
2015-09-03 11:26:36 +00:00
2015-09-03 18:20:35 +02:00
2016-01-04 15:30:50 +01:00
2016-01-04 15:30:50 +01:00
2016-01-04 15:30:50 +01:00
2016-01-04 15:30:50 +01:00
2016-01-04 15:30:50 +01:00
2016-01-04 15:30:50 +01:00
2016-01-04 15:30:50 +01:00
2016-01-04 15:30:50 +01:00
2016-04-12 15:13:53 +02:00
2016-01-04 15:30:50 +01:00
2016-01-19 11:35:10 +01:00
2016-04-12 09:05:29 +02:00
2016-02-02 14:53:55 +01:00
2013-11-07 16:07:34 +01:00
2016-01-12 17:03:03 +00:00
2016-01-04 15:30:50 +01:00
2016-01-04 15:30:50 +01:00
2015-11-14 19:42:13 +01:00
2016-02-02 13:48:31 +01:00
2016-01-04 15:30:50 +01:00
2016-01-04 15:30:50 +01:00
2016-01-19 11:35:10 +01:00
2016-01-04 15:30:50 +01:00
2016-01-04 15:30:50 +01:00
2016-03-23 14:38:55 +00:00
2016-03-17 16:07:54 +01:00
2016-01-04 15:30:50 +01:00
2016-01-04 15:30:50 +01:00
2016-01-04 15:30:50 +01:00
2016-01-04 15:30:50 +01:00
2016-01-04 15:30:50 +01:00
2016-01-04 15:30:50 +01:00
2016-01-04 15:30:50 +01:00
2016-01-06 15:47:14 +00:00
2016-01-04 15:30:50 +01:00
2016-01-04 15:30:50 +01:00
2016-01-04 15:30:50 +01:00
2016-01-04 15:30:50 +01:00
2016-01-04 15:30:50 +01:00
2016-01-04 15:30:50 +01:00
2016-01-04 15:30:50 +01:00
2016-01-04 15:30:50 +01:00
2016-04-12 09:05:29 +02:00
2016-04-12 09:05:29 +02:00
2016-01-04 15:30:50 +01:00
2016-01-04 15:30:50 +01:00
2016-01-04 15:30:50 +01:00