mirror of
https://github.com/autc04/Retro68.git
synced 2024-11-04 13:06:01 +00:00
79 lines
1.2 KiB
C
79 lines
1.2 KiB
C
|
/* PR middle-end/36506 */
|
||
|
|
||
|
extern void abort (void);
|
||
|
|
||
|
int
|
||
|
main (void)
|
||
|
{
|
||
|
int sum = 0, prod = 1;
|
||
|
#pragma omp parallel
|
||
|
#pragma omp sections reduction (+:sum)
|
||
|
{
|
||
|
#pragma omp section
|
||
|
sum += 2;
|
||
|
#pragma omp section
|
||
|
sum += 2;
|
||
|
#pragma omp section
|
||
|
sum += 2;
|
||
|
}
|
||
|
if (sum != 6)
|
||
|
abort ();
|
||
|
sum = 0;
|
||
|
#pragma omp parallel sections reduction (+:sum)
|
||
|
{
|
||
|
#pragma omp section
|
||
|
sum += 2;
|
||
|
#pragma omp section
|
||
|
sum += 2;
|
||
|
#pragma omp section
|
||
|
sum += 2;
|
||
|
}
|
||
|
if (sum != 6)
|
||
|
abort ();
|
||
|
sum = 0;
|
||
|
#pragma omp parallel
|
||
|
#pragma omp sections reduction (+:sum) reduction (*:prod)
|
||
|
{
|
||
|
#pragma omp section
|
||
|
{
|
||
|
sum += 2;
|
||
|
prod *= 2;
|
||
|
}
|
||
|
#pragma omp section
|
||
|
{
|
||
|
sum += 2;
|
||
|
prod *= 2;
|
||
|
}
|
||
|
#pragma omp section
|
||
|
{
|
||
|
sum += 2;
|
||
|
prod *= 2;
|
||
|
}
|
||
|
}
|
||
|
if (sum != 6 || prod != 8)
|
||
|
abort ();
|
||
|
sum = 0;
|
||
|
prod = 1;
|
||
|
#pragma omp parallel sections reduction (+:sum) reduction (*:prod)
|
||
|
{
|
||
|
#pragma omp section
|
||
|
{
|
||
|
sum += 2;
|
||
|
prod *= 2;
|
||
|
}
|
||
|
#pragma omp section
|
||
|
{
|
||
|
sum += 2;
|
||
|
prod *= 2;
|
||
|
}
|
||
|
#pragma omp section
|
||
|
{
|
||
|
sum += 2;
|
||
|
prod *= 2;
|
||
|
}
|
||
|
}
|
||
|
if (sum != 6 || prod != 8)
|
||
|
abort ();
|
||
|
return 0;
|
||
|
}
|