This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH][RFC][OpenMP] Forbid target* pragmas in target regions
- From: Ilya Verbin <iverbin at gmail dot com>
- To: Jakub Jelinek <jakub at redhat dot com>
- Cc: gcc-patches at gcc dot gnu dot org, Kirill Yukhin <kirill dot yukhin at gmail dot com>, Thomas Schwinge <thomas at codesourcery dot com>
- Date: Thu, 12 Feb 2015 17:50:12 +0300
- Subject: Re: [PATCH][RFC][OpenMP] Forbid target* pragmas in target regions
- Authentication-results: sourceware.org; auth=none
- References: <20150111212244 dot GD30445 at msticlxl57 dot ims dot intel dot com> <20150210101622 dot GA22996 at virgil dot suse> <20150210102024 dot GC1746 at tucnak dot redhat dot com>
On Tue, Feb 10, 2015 at 11:20:24 +0100, Jakub Jelinek wrote:
> So, what we can do is e.g. ignore the nested #pragma omp target* regions
> inside of #pragma omp target, or turn them into __builtin_trap ().
I like this idea to ignore them at compile-time, but how to be with declare
target functions?
#pragma omp declare target
void foo (int x, int y)
{
#pragma omp target map(to: y) if(x)
y;
}
#pragma omp end declare target
This code seems to be correct, but it has the same problem with static
omp_data_sizes and omp_data_kinds.
-- Ilya