From: Thomas Schwinge Date: Wed, 16 Mar 2022 07:02:39 +0000 (+0100) Subject: OpenACC privatization diagnostics vs. 'assert' [PR102841] X-Git-Tag: basepoints/gcc-13~650 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ab46fc7c3bf01337ea4554f08f4f6b0be8173557;p=thirdparty%2Fgcc.git OpenACC privatization diagnostics vs. 'assert' [PR102841] It's an orthogonal concern why these diagnostics do appear at all for non-offloaded OpenACC constructs (where they're not relevant at all); PR90115. Depending on how 'assert' is implemented, it may cause temporaries to be created, and/or may lower into 'COND_EXPR's, and 'gcc/gimplify.cc:gimplify_cond_expr' uses 'create_tmp_var (type, "iftmp")'. Fix-up for commit 11b8286a83289f5b54e813f14ff56d730c3f3185 "[OpenACC privatization] Largely extend diagnostics and corresponding testsuite coverage [PR90115]". PR testsuite/102841 libgomp/ * testsuite/libgomp.oacc-c-c++-common/host_data-7.c: Adjust. --- diff --git a/libgomp/testsuite/libgomp.oacc-c-c++-common/host_data-7.c b/libgomp/testsuite/libgomp.oacc-c-c++-common/host_data-7.c index 66501e614fbc..50b4fc264d0c 100644 --- a/libgomp/testsuite/libgomp.oacc-c-c++-common/host_data-7.c +++ b/libgomp/testsuite/libgomp.oacc-c-c++-common/host_data-7.c @@ -4,7 +4,9 @@ { dg-additional-options "--param=openacc-privatization=noisy" } { dg-additional-options "-foffload=-fopt-info-all-omp" } { dg-additional-options "-foffload=--param=openacc-privatization=noisy" } - for testing/documenting aspects of that functionality. */ + Prune a few: uninteresting, and potentially varying depending on GCC configuration (data types) or 'assert' implementation: + { dg-prune-output {note: variable 'D\.[0-9]+' declared in block isn't candidate for adjusting OpenACC privatization level: not addressable} } + { dg-prune-output {note: variable 'iftmp\.[0-9]+' declared in block isn't candidate for adjusting OpenACC privatization level: not addressable} } */ /* C/C++ variant of 'libgomp.oacc-fortran/host_data-5.F90' */ @@ -25,7 +27,6 @@ foo (float *p, intptr_t host_p, int cond) #pragma acc data copy(p[0:100]) /* { dg-note {variable 'host_p\.[0-9]+' declared in block isn't candidate for adjusting OpenACC privatization level: not addressable} "" { target *-*-* } .-1 } */ - /* { dg-note {variable 'D\.[0-9]+' declared in block isn't candidate for adjusting OpenACC privatization level: not addressable} "" { target *-*-* } .-2 } */ { /* Not inside a host_data construct, so p is still the host pointer. */ assert (p == (float *) host_p); @@ -54,7 +55,6 @@ foo (float *p, intptr_t host_p, int cond) #pragma acc host_data use_device(p) if(cond) /* { dg-note {variable 'host_p\.[0-9]+' declared in block isn't candidate for adjusting OpenACC privatization level: not addressable} "" { target *-*-* } .-1 } */ - /* { dg-note {variable 'D\.[0-9]+' declared in block isn't candidate for adjusting OpenACC privatization level: not addressable} "" { target { ! openacc_host_selected } } .-2 } */ { #if ACC_MEM_SHARED assert (p == (float *) host_p);