Skip to content

[flang][OpenMP] symbol resolution error for DECLARE SIMD UNIFORM #140741

Open
@tblah

Description

@tblah

See https://github.com/fujitsu/compiler-test-suite/blob/ac5d63a278b47141b51e12bd7ec3b189177d63e9/Fortran/0489/0489_0069.f90

 function add2(a,b,i,fact,alc) result(c)
            !$omp declare simd(add2) uniform(a,b,fact)
            integer :: i
           integer,pointer::alc
            double precision :: a(*),b(*),fact,c
            c = a(i) + b(i) + fact
        end function

print *,'pass'
end

Reproduce with flang -fopenmp.

I think the problem here is that DECLARE SIMD is in the specification part before the declarations of the symbols used in the UNIFORM clause.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions