https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100497
--- Comment #2 from Tobias Burnus <burnus at gcc dot gnu.org> --- (In reply to Tom de Vries from comment #1) > Can you post a minimal version? See below, fails with 4 systems, works with 3 others. #define N 1024 int main () { _Complex float orfc = 0; // _Complex int orfc = 0; // variant; uses a GNU extension int rf[N] = {}; // Can also be _Complex (float/int) as in the orig example rf[5] = 1; #pragma omp target teams distribute parallel for reduction(||: orfc) map(orfc) for (int i=0; i < N; ++i) orfc = orfc || rf[i]; if (__real__ orfc != 1.0) // if it fails, it is 0.0 + 0.0i __builtin_abort (); return 0; }