! RUN: bbc -emit-hlfir -fopenmp -o - %s | FileCheck %s ! RUN: %flang_fc1 -emit-hlfir -fopenmp -o - %s | FileCheck %s program firstprivateallocatable Integer, Allocatable :: a,u a = 137 !$omp parallel firstprivate(a,u) u = a**2 !$omp end parallel end program ! CHECK-LABEL: func.func @_QQmain() ! [...] ! CHECK: omp.parallel {{.*}} { ! [...] ! CHECK: %[[VAL_50:.*]] = arith.constant 2 : i32 ! CHECK: %[[VAL_51:.*]] = math.ipowi %{{.*}}, %[[VAL_50]] : i32 ! this is what we are really checking: the hlfir.assign must have realloc so that ! u is allocated when the assignment occurs ! CHECK: hlfir.assign %[[VAL_51]] to %{{.*}}#0 realloc : i32, !fir.ref>> ! [...] ! CHECK: omp.terminator ! CHECK: }