Hi Julian! On 2020-06-30T15:51:14+0200, I wrote: > On 2020-06-16T15:38:33-0700, Julian Brown <jul...@codesourcery.com> wrote: >> This is a new version of the patch last sent here: >> >> https://gcc.gnu.org/pipermail/gcc-patches/2020-May/546332.html >> >> Minus the bits that Thomas has committed already (thanks!), and with >> adjustments to allow for GOMP_MAP_ATTACH being grouped together with a >> preceding clause. >> >> OK? > > Please also update the "virtual refcount" comment in > 'libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c'. > > Your patch now makes the 'libgomp.oacc-fortran/mdc-refcount-1-1-1.f90', > 'libgomp.oacc-fortran/mdc-refcount-1-2-1.f90', > 'libgomp.oacc-fortran/mdc-refcount-1-2-2.f90', > 'libgomp.oacc-fortran/mdc-refcount-1-3-1.f90' test cases PASS (did you > not see that?)
Ah, you said "Tested (as a series)", so that's probably why I saw this intermediate step but you didn't. > so we have to remove all XFAILing, 'print'/'dg-output' > etc. from these, and it changes the error reporting in > 'libgomp.oacc-fortran/mdc-refcount-1-4-1.f90', so we have to adjust that. > See attached patch "into Adjust dynamic reference count semantics". Given my recent "[OpenACC] Revert always-copyfrom behavior for 'GOMP_MAP_FORCE_FROM' in 'libgomp/oacc-mem.c:goacc_exit_data_internal'", <87wo3ky5vn.fsf@euler.schwinge.homeip.net">http://mid.mail-archive.com/87wo3ky5vn.fsf@euler.schwinge.homeip.net>, please also include the attached "into 'Adjust dynamic reference count semantics': un-XFAIL 'libgomp.oacc-c-c++-common/pr92843-1.c'". > Your patch regresses the attached > 'libgomp.oacc-c-c++-common/struct-3-1-1.c' That was confusing: that's a new test case, not yet in tree. > which used to act like > detailed in the file, but now does: > > CheCKpOInT1 > CheCKpOInT2 > a.out: > source-gcc/libgomp/testsuite/libgomp.oacc-c-c++-common/struct-3-1-1.c:28: > main: Assertion `acc_is_present (&s.b, sizeof s.b)' failed. > Aborted (core dumped) > > That means, after '#pragma acc enter data create(s.a)' we're no longer > refusing '#pragma acc enter data create(s.b)', but then the > 'acc_is_present' for 's.b' fails. Is that a true regression introduced > by your patch, or a separate issue (which before just worked by chance)? > In the latter case, please file a PR. Grüße Thomas ----------------- Mentor Graphics (Deutschland) GmbH, Arnulfstraße 201, 80634 München / Germany Registergericht München HRB 106955, Geschäftsführer: Thomas Heurung, Alexander Walter
>From 705898afc94c94545a2dd7ed9f451615c067385f Mon Sep 17 00:00:00 2001 From: Thomas Schwinge <tho...@codesourcery.com> Date: Fri, 3 Jul 2020 16:58:34 +0200 Subject: [PATCH] into 'Adjust dynamic reference count semantics': un-XFAIL 'libgomp.oacc-c-c++-common/pr92843-1.c' --- libgomp/testsuite/libgomp.oacc-c-c++-common/pr92843-1.c | 9 --------- 1 file changed, 9 deletions(-) diff --git a/libgomp/testsuite/libgomp.oacc-c-c++-common/pr92843-1.c b/libgomp/testsuite/libgomp.oacc-c-c++-common/pr92843-1.c index 78fe1402ad46..db5b35b08d9f 100644 --- a/libgomp/testsuite/libgomp.oacc-c-c++-common/pr92843-1.c +++ b/libgomp/testsuite/libgomp.oacc-c-c++-common/pr92843-1.c @@ -4,7 +4,6 @@ /* { dg-skip-if "" { *-*-* } { "*" } { "-DACC_MEM_SHARED=0" } } */ #include <assert.h> -#include <stdio.h> #include <stdlib.h> #include <openacc.h> @@ -135,15 +134,7 @@ test_acc_data () assert (acc_is_present (h, sizeof h)); assign_array (h, N, c1); - fprintf (stderr, "CheCKpOInT1\n"); - // { dg-output ".*CheCKpOInT1(\n|\r\n|\r)" } acc_copyout_finalize (h, sizeof h); - //TODO goacc_exit_datum: Assertion `is_tgt_unmapped || num_mappings > 1' failed. - //TODO { dg-output ".*\[Aa\]ssert.*is_tgt_unmapped" { target { ! openacc_host_selected } } } ! Scan for what we expect in the "XFAILed" case (without actually XFAILing). - //TODO { dg-shouldfail "XFAILed" { ! openacc_host_selected } } ! ... instead of 'dg-xfail-run-if' so that 'dg-output' is evaluated at all. - //TODO { dg-final { if { [dg-process-target { xfail { ! openacc_host_selected } }] == "F" } { xfail "[testname-for-summary] really is XFAILed" } } } ! ... so that we still get an XFAIL visible in the log. - fprintf (stderr, "CheCKpOInT2\n"); - // { dg-output ".CheCKpOInT2(\n|\r\n|\r)" { target { openacc_host_selected } } } assert (acc_is_present (h, sizeof h)); verify_array (h, N, c1); -- 2.27.0