Hi Tobias! On 2019-11-20T14:06:18+0100, Tobias Burnus <tob...@codesourcery.com> wrote: > This patch does two things regarding explicit and automatical variable > mapping to offloaded devices:
Thanks! > Compared to the previous patch set,** I added several OpenMP test cases > – and fixed the fallout. I'm seeing: PASS: libgomp.fortran/use_device_addr-3.f90 -O0 (test for excess errors) PASS: libgomp.fortran/use_device_addr-3.f90 -O0 execution test PASS: libgomp.fortran/use_device_addr-3.f90 -O1 (test for excess errors) [-PASS:-]{+FAIL:+} libgomp.fortran/use_device_addr-3.f90 -O1 execution test PASS: libgomp.fortran/use_device_addr-3.f90 -O2 (test for excess errors) [-PASS:-]{+FAIL:+} libgomp.fortran/use_device_addr-3.f90 -O2 execution test PASS: libgomp.fortran/use_device_addr-3.f90 -O3 -fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer -finline-functions (test for excess errors) [-PASS:-]{+FAIL:+} libgomp.fortran/use_device_addr-3.f90 -O3 -fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer -finline-functions execution test PASS: libgomp.fortran/use_device_addr-3.f90 -O3 -g (test for excess errors) [-PASS:-]{+FAIL:+} libgomp.fortran/use_device_addr-3.f90 -O3 -g execution test PASS: libgomp.fortran/use_device_addr-3.f90 -Os (test for excess errors) PASS: libgomp.fortran/use_device_addr-3.f90 -Os execution test libgomp: Trying to map into device [0x7ffd7915a500..0x7ffd7915a500) object when [0x7ffd7915c440..0x7ffd7915c440) is already mapped PASS: libgomp.fortran/use_device_addr-4.f90 -O0 (test for excess errors) PASS: libgomp.fortran/use_device_addr-4.f90 -O0 execution test PASS: libgomp.fortran/use_device_addr-4.f90 -O1 (test for excess errors) [-PASS:-]{+FAIL:+} libgomp.fortran/use_device_addr-4.f90 -O1 execution test PASS: libgomp.fortran/use_device_addr-4.f90 -O2 (test for excess errors) [-PASS:-]{+FAIL:+} libgomp.fortran/use_device_addr-4.f90 -O2 execution test PASS: libgomp.fortran/use_device_addr-4.f90 -O3 -fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer -finline-functions (test for excess errors) [-PASS:-]{+FAIL:+} libgomp.fortran/use_device_addr-4.f90 -O3 -fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer -finline-functions execution test PASS: libgomp.fortran/use_device_addr-4.f90 -O3 -g (test for excess errors) [-PASS:-]{+FAIL:+} libgomp.fortran/use_device_addr-4.f90 -O3 -g execution test PASS: libgomp.fortran/use_device_addr-4.f90 -Os (test for excess errors) PASS: libgomp.fortran/use_device_addr-4.f90 -Os execution test libgomp: Trying to map into device [0x7ffc70529ca0..0x7ffc70529ca0) object when [0x7ffc7052ac40..0x7ffc7052ac40) is already mapped > Except for trivial changes to libgomp/oacc-mem.c Just because something is just a few lines of code doesn't mean that it's trivial. I had asked you to first resolve that issue separately (referencing PR92726), instead of mixing these changes into the Fortran optional agruments commit: <87lfrylp8k.fsf@euler.schwinge.homeip.net">http://mid.mail-archive.com/87lfrylp8k.fsf@euler.schwinge.homeip.net> "[PR92726] OpenACC: 'NULL'-in -> no-op, and/or 'NULL'-out". There was no reason to rush in the Fortran optional arguments changes before resolving the 'NULL' changes, was there? > --- /dev/null > +++ b/libgomp/testsuite/libgomp.oacc-fortran/optional-cache.f95 > @@ -0,0 +1,23 @@ > +! Test that the cache directives work with optional arguments. [...] Missing '{ dg-do run }'. > --- /dev/null > +++ b/libgomp/testsuite/libgomp.oacc-fortran/optional-cache.f95 > +! of giving a non-present argument to the cache directive is not tested as > +! it is undefined. > --- /dev/null > +++ b/libgomp/testsuite/libgomp.oacc-fortran/optional-firstprivate.f90 > @@ -0,0 +1,112 @@ > +! Test that optional arguments work in firstprivate clauses. The effect of > +! non-present arguments in firstprivate clauses is undefined, and is not > +! tested for. > --- /dev/null > +++ b/libgomp/testsuite/libgomp.oacc-fortran/optional-private.f90 > @@ -0,0 +1,115 @@ > +! Test that optional arguments work in private clauses. The effect of > +! non-present arguments in private clauses is undefined, and is not tested > --- /dev/null > +++ b/libgomp/testsuite/libgomp.oacc-fortran/optional-reduction.f90 > @@ -0,0 +1,69 @@ > +! Test optional arguments in reduction clauses. The effect of > +! non-present arguments in reduction clauses is undefined, and is not tested Once you've got access, please file a ticket at <https://github.com/OpenACC/openacc-spec/issues> so this gets clarified. > --- /dev/null > +++ b/libgomp/testsuite/libgomp.oacc-fortran/optional-reduction.f90 > +! { dg-additional-options "-w" } Why that? Grüße Thomas
signature.asc
Description: PGP signature