https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62171
--- Comment #5 from vries at gcc dot gnu.org ---
(In reply to Richard Biener from comment #1)
> It may already work
> if you use C++ and
>
> static double __attribute__((noinline, noclone))
> f (struct omp_data_i &__restrict__ p, int argc)
> {
>
> ? That is, if the middle-end uses a REFERENCE_TYPE?
Confirmed, rewriting the example with 'struct omp_data_i &' and compiling with
g++ solves the aliasing problem.
