view gcc/testsuite/g++.dg/gomp/private-1.C @ 145:1830386684a0

gcc-9.2.0
author anatofuz
date Thu, 13 Feb 2020 11:34:05 +0900
parents 04ced10e8804
children
line wrap: on
line source

// { dg-do compile }
// { dg-options "-fopenmp" }

struct A { int i; A (); ~A (); };
struct B { int i; };
struct C { int i; mutable int j; C (); ~C (); };

template <typename T> void bar (const T *);

const A a;
const C c;

const A foo (const A d, const C e)
{
  const A f;
  const B b = { 4 };
  A g;
  #pragma omp parallel private (a)	// { dg-error "may appear only in 'shared' or 'firstprivate' clauses" }
    bar (&a);
  #pragma omp parallel private (b)	// { dg-error "may appear only in 'shared' or 'firstprivate' clauses" }
    bar (&b);
  #pragma omp parallel private (c)
    bar (&c);
  #pragma omp parallel private (d)	// { dg-error "may appear only in 'shared' or 'firstprivate' clauses" }
    bar (&d);
  #pragma omp parallel private (e)
    bar (&e);
  #pragma omp parallel private (f)	// { dg-error "may appear only in 'shared' or 'firstprivate' clauses" }
    bar (&f);
  #pragma omp parallel private (g)
    bar (&g);
  return f;
}