Open aadler opened 3 months ago
As the logs will be deleted soon, here is the text of the error:
using Fortran compiler: ‘Ubuntu flang-new version 19.0.0 (++20240609042219+715a5d8d93a8-1~exp1~20240609042339.1734)’
flang-new-19 -fopenmp -fpic -g -O2 -c utils.f90 -o utils.o
error: Semantic errors in utils.f90
./utils.f90:138:53: error: Internal: no symbol found for 'k'
!$omp declare simd(imk) linear(uval(i)) uniform(k) notinbranch
The function in question (imk) begins on line 137 of utils.f90.
I apologize in advance if this is not the proper venue for this question, and, if so, would appreciate being directed. I develop and maintain a few packages for R. I don't use clang when I develop but I do test compilation on c/flang by using rhub. To the best of my knowledge, clang has fully implemented OpenMP 4.5, which includes the
uniform
keyword when declaring a function for SIMD usage. I thought the same for flang as well; see 2.82 here. However, when I use the clang testbeds on rhub to test adding SIMD constructs to the Delaporte package, versions 17, 18, and 19 all return "Internal: no symbol found" and stop compilation upon seeing that clause. Could this be a problem with how rhub has set up its testbeds? Is OpenMP 4.5 not fully implemented in flang? Or have I made an error. The package compiles with gcc and intel, so I believe the code is correct. Thank you.