Hi! On 2019-06-19T00:25:49+0200, I wrote: > This doesn't resolve PR90868, but at least in trunk r272445 we now > "Document status quo for duplicate OpenACC 'declare' directives for > 'extern' variables", see attached. > --- a/gcc/testsuite/c-c++-common/goacc/declare-1.c > +++ b/gcc/testsuite/c-c++-common/goacc/declare-1.c > +/* The same as 'f'. */ > + > +void > +f_2 (void) > +{ > +#ifndef __cplusplus > + /* TODO PR90868 > + > + C: "error: variable '[...]' used more than once with '#pragma acc declare'". */ > +#else > + extern int ve0; > +#pragma acc declare create(ve0) > /* The same as 'f' but everything contained in an OpenACC 'data' construct. */ > > void > @@ -115,7 +193,12 @@ f_data (void) > int va3; > # pragma acc declare device_resident(va3) > > -#if 0 /* TODO */ > +#if 0 > + /* TODO PR90868 > + > + C: "error: variable '[...]' used more than once with '#pragma acc declare'". > + C++: ICE during gimplification. */ > + > extern int ve0; > # pragma acc declare create(ve0) Pushed to master branch commit cf840a7f7c14242ab7018071310851486a557d4f "Unify OpenACC/C and C++ behavior re duplicate OpenACC 'declare' directives for 'extern' variables [PR90868]", see attached. Later we'll have to check how changes like commit 4e62aca0e0520e4ed2532f2d8153581190621c1a "c++: block-scope externs get an alias [PR95677,PR31775,PR95677]", commit db3d7270b42fe27fb05664c4fdf524ab7ad13a75 "openmp: Fix up declare target handling for vars with DECL_LOCAL_DECL_ALIAS [PR102640]" (and possibly others) actually apply to OpenACC 'declare'. Grüße Thomas ----------------- Siemens Electronic Design Automation GmbH; Anschrift: Arnulfstraße 201, 80634 München; Gesellschaft mit beschränkter Haftung; Geschäftsführer: Thomas Heurung, Frank Thürauf; Sitz der Gesellschaft: München; Registergericht München, HRB 106955