URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Go to most recent revision |
Only display areas with differences |
Details |
Blame |
View Log
Rev 301 |
Rev 338 |
// PR target/35364
|
// PR target/35364
|
// { dg-do compile }
|
// { dg-do compile }
|
// { dg-options "-O2 -fopenmp" }
|
// { dg-options "-O2 -fopenmp" }
|
|
|
template
|
template
|
struct E
|
struct E
|
{
|
{
|
E ();
|
E ();
|
~E ();
|
~E ();
|
};
|
};
|
|
|
template
|
template
|
struct C
|
struct C
|
{
|
{
|
C (const U &y) : u (y) {}
|
C (const U &y) : u (y) {}
|
~C () {}
|
~C () {}
|
const U &u;
|
const U &u;
|
};
|
};
|
|
|
template >
|
template >
|
struct B : public C
|
struct B : public C
|
{
|
{
|
B (int x, const T &z = T (), const U &y = U ()) : C (y) {}
|
B (int x, const T &z = T (), const U &y = U ()) : C (y) {}
|
~B () {}
|
~B () {}
|
};
|
};
|
|
|
void
|
void
|
foo ()
|
foo ()
|
{
|
{
|
#pragma omp parallel
|
#pragma omp parallel
|
{
|
{
|
B x (1);
|
B x (1);
|
}
|
}
|
#pragma omp for
|
#pragma omp for
|
for (int i = 0; i < 10; i++)
|
for (int i = 0; i < 10; i++)
|
{
|
{
|
B x (i);
|
B x (i);
|
}
|
}
|
#pragma omp sections
|
#pragma omp sections
|
{
|
{
|
#pragma omp section
|
#pragma omp section
|
{
|
{
|
B x (6);
|
B x (6);
|
}
|
}
|
}
|
}
|
#pragma omp single
|
#pragma omp single
|
{
|
{
|
B x (16);
|
B x (16);
|
}
|
}
|
}
|
}
|
|
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.