Joachim Jenke fe7f620ed6 [OpenMP][Tests][NFC] Mark unsupported libomp tests for GCC
This patch properly marks the support level for libomp test when testing with
GCC.

Some new OpenMP features were only introduced with GCC 11.
Tests using the target construct are incompatibe with GCC.

Tests pass now with GCC 10, 11, 12
2023-05-23 10:33:09 +02:00

46 lines
744 B
C

// RUN: %libomp-compile-and-run
// RUN: %libomp-irbuilder-compile-and-run
// irbuilder is only available with clang
// REQUIRES: clang
#include <stdio.h>
#include "omp_testsuite.h"
int test_omp_parallel_if()
{
int i;
int sum;
int known_sum;
int mysum;
int control=1;
sum =0;
known_sum = (LOOPCOUNT * (LOOPCOUNT + 1)) / 2 ;
#pragma omp parallel private(i) if(control==0)
{
mysum = 0;
for (i = 1; i <= LOOPCOUNT; i++) {
mysum = mysum + i;
}
#pragma omp critical
{
sum = sum + mysum;
}
}
return (known_sum == sum);
}
int main()
{
int i;
int num_failed=0;
for(i = 0; i < REPETITIONS; i++) {
if(!test_omp_parallel_if()) {
num_failed++;
}
}
return num_failed;
}