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]

Re: [gomp4, fortran] Patch to fix continuation checks of OpenACC and OpenMP directives


Ping

On 07.07.2015 14:27, Ilmir Usmanov wrote:
Ping

30.06.2015, 03:43, "Ilmir Usmanov" <me@ilmir.us>:
Hi Cesar!

Thanks for your review!

08.06.2015, 17:59, "Cesar Philippidis" <cesar@codesourcery.com>:
  On 06/07/2015 02:05 PM, Ilmir Usmanov wrote:
   Fixed fortran mail-list address. Sorry for inconvenience.

   08.06.2015, 00:01, "Ilmir Usmanov" <me@ilmir.us>:
   Hi Cesar!

   This patch fixes checks of OpenMP and OpenACC continuations in
   case if someone mixes them (i.e. continues OpenMP directive with
   !$ACC sentinel or vice versa).

   OK for gomp branch?
  Thanks for working on this. Does this fix PR63858 by any chance?
No problem. I had a feeling that something is wrong in the scanner since
I've committed an initial support of OpenACC ver. 1.0 to gomp branch
(more than a year ago).
Now it does fix the PR, because I've added support of fixed form to the
patch. BTW, your test in the PR has a wrong continuation. Fixed test
added to the patch.

  two minor nits...

   0001-Fix-mix-of-OpenACC-and-OpenMP-sentinels-in-continuat.patch

   From 5492bf5bc991b6924f5e3b35c11eeaed745df073 Mon Sep 17 00:00:00 2001
   From: Ilmir Usmanov <i.usmanov@samsung.com>
   Date: Sun, 7 Jun 2015 23:55:22 +0300
   Subject: [PATCH] Fix mix of OpenACC and OpenMP sentinels in continuation

   ---
    gcc/fortran/ChangeLog | 5 +++++
  Use ChangeLog.gomp for gomp-4_0-branch.
Done.

   + /* In case we have an OpenMP directive continued by OpenACC
   + sentinel, or vice versa, we get both openmp_flag and
   + openacc_flag on. */
   +
   + if (openacc_flag && openmp_flag)
   + {
   + int is_openmp = 0;
   + for (i = 0; i < 5; i++, c = next_char ())
   + {
   + if (gfc_wide_tolower (c) != (unsigned char) "!$acc"[i])
   + is_openmp = 1;
   + if (i == 4)
   + old_loc = gfc_current_locus;
   + }
   + gfc_error ("Wrong %s continuation at %C: expected %s, got %s",
   + is_openmp ? "OpenACC" : "OpenMP",
   + is_openmp ? "!$ACC" : "!$OMP",
   + is_openmp ? "!$OMP" : "!$ACC");
  I think it's better for the translation project if you made this a
  complete string. So maybe change this line into

    gfc_error (is_openmp ? "Wrong continuation at %C: expected !$ACC, got"
               " !$OMP",
               : "Wrong continuation at %C: expected !$OMP, got !$ACC");
Done

  Other than that, it looks fine.

  Thanks,
  Cesar
OK for gomp branch?

--
Ilmir.
--
Ilmir.

--
Ilmir.


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