This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Fortran OpenACC host_data construct ICE (was: [gomp4] Re: [OpenACC 0/7] host_data construct)


Hi!

On Wed, 2 Dec 2015 23:13:58 +0100, I wrote:
> On Wed, 2 Dec 2015 16:58:45 +0100, I wrote:
> > Cesar and Jim copied, for help with Fortran and generally testsuite
> > things.

(Just in case you happen to have any ideas.)

> > On Mon, 30 Nov 2015 19:30:34 +0000, Julian Brown <julian@codesourcery.com> wrote:
> > > [patch]
> > 
> > First, thanks!
> 
> Aside from a number of formatting/re-ordering changes, the front end
> changes were basically still the same, but otherwise (middle end,
> libgomp) the patch as committed to trunk in r231118 was quite (totally?)
> ;-) different from the code we had on gomp-4_0-branch, so I had to spend
> some time on merging, cleaning things up.

> > Your submission/commit didn't have any execution tests for OpenACC
> > host_data in Fortran.  On gomp-4_0-branch, there is
> > libgomp/testsuite/libgomp.oacc-fortran/host_data-1.f90 at least.
> 
> ..., but this one now FAILs (ICE) as follows:
> 
>     [...]/source-gcc/libgomp/testsuite/libgomp.oacc-fortran/host_data-1.f90:11:0: internal compiler error: in scan_omp_target, at omp-low.c:3218
>     0xa33e80 scan_omp_target
>             [...]/source-gcc/gcc/omp-low.c:3218
>     [...]

Filed <https://gcc.gnu.org/PR70598>.

> Maybe that's due to the gcc/gimplify.c:gimplify_scan_omp_clauses issue
> mentioned in
> <http://news.gmane.org/find-root.php?message_id=%3C877fkwn8p6.fsf%40kepler.schwinge.homeip.net%3E>,
> or maybe something else?  (XFAILed for now.)

The following patch does not resolve the problem -- but we'll still want
something like that, I suppose?

--- gcc/gimplify.c
+++ gcc/gimplify.c
@@ -6544,18 +6544,20 @@ gimplify_scan_omp_clauses (tree *list_p, gimple_seq *pre_p,
 	 the Fortran FE is updated to OpenMP 4.5.  */
       ctx->target_map_scalars_firstprivate = true;
     }
-  if (!lang_GNU_Fortran ())
-    switch (code)
-      {
-      case OMP_TARGET:
-      case OMP_TARGET_DATA:
-      case OMP_TARGET_ENTER_DATA:
-      case OMP_TARGET_EXIT_DATA:
-      case OACC_HOST_DATA:
-	ctx->target_firstprivatize_array_bases = true;
-      default:
+  switch (code)
+    {
+    case OMP_TARGET:
+    case OMP_TARGET_DATA:
+    case OMP_TARGET_ENTER_DATA:
+    case OMP_TARGET_EXIT_DATA:
+      if (lang_GNU_Fortran ())
 	break;
-      }
+      /* FALLTHRU */
+    case OACC_HOST_DATA:
+      ctx->target_firstprivatize_array_bases = true;
+    default:
+      break;
+    }
 
   while ((c = *list_p) != NULL)
     {


GrÃÃe
 Thomas

Attachment: signature.asc
Description: PGP signature


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]