This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug ipa/70348] [6 Regression][openacc] ICE in visit_ref_for_mod_analysis, at ipa-prop.c
- From: "tschwinge at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Wed, 23 Mar 2016 15:39:02 +0000
- Subject: [Bug ipa/70348] [6 Regression][openacc] ICE in visit_ref_for_mod_analysis, at ipa-prop.c
- Auto-submitted: auto-generated
- References: <bug-70348-4 at http dot gcc dot gnu dot org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70348
Thomas Schwinge <tschwinge at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |nathan at gcc dot gnu.org
--- Comment #4 from Thomas Schwinge <tschwinge at gcc dot gnu.org> ---
Martin, thanks for the initial analysis.
Nathan CCed for your information; here is a reduced test case (which hopefully
still exhibits the original problem):
void foo (int sum)
{
#pragma acc parallel reduction(+:sum)
;
}
The ICE goes away when adding a data clause, such as copy(sum).
When changing sum from a formal parameter to an (initialized) local variable,
without adding a data clause, there is no ICE, but a "warning: 'sum' is used
uninitialized in this function [-Wuninitialized]". (This probably correct
given the current implementation, which requires you to specify a data clause
in addition to a reduction clause.)
We're currently clarifying with the OpenACC technical committee whether a
reduction clause actually implies a data clause.