This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [gomp4, fortran] Patch to fix continuation checks of OpenACC and OpenMP directives
- From: Cesar Philippidis <cesar at codesourcery dot com>
- To: Ilmir Usmanov <i dot usmanov at samsung dot com>, Ilmir Usmanov <me at ilmir dot us>
- Cc: "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>, "fortran at gcc dot gnu dot org" <fortran at gcc dot gnu dot org>
- Date: Tue, 14 Jul 2015 14:23:53 -0700
- Subject: Re: [gomp4, fortran] Patch to fix continuation checks of OpenACC and OpenMP directives
- Authentication-results: sourceware.org; auth=none
- References: <3008431435623821 at web14j dot yandex dot ru> <5591E54E dot 90509 at ilmir dot us> <650751436268444 at web22m dot yandex dot ru> <55A57D1C dot 60304 at samsung dot com>
On 07/14/2015 02:20 PM, Ilmir Usmanov wrote:
> Ping
Sorry, I thought I had already approved this. It's fine for gomp-4_0-branch.
Cesar
> 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.
>>