mirror of
https://review.haiku-os.org/buildtools
synced 2025-02-21 05:07:54 +01: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;
|
||
|
}
|