-
Notifications
You must be signed in to change notification settings - Fork 15.3k
Closed
Closed
Copy link
Labels
Description
Version of flang-new : 19.0.0(dcebe297367f48a71a5ecea3bcdd54671195da1b)/AArch64
Specifying a pointer in a threadprivate directive results in a compilation-time error.
The following are the test program, Flang-new, Gfortran and ifort compilation/execution result.
snggz274_.f90:
subroutine ss2
external ::a,x
pointer:: a
!$omp threadprivate(a)
save a
a=>x
call a
end subroutine ss2
subroutine x
end subroutine x
program main
call ss2
print *,'pass'
end program main
$ flang-new -fopenmp snggz274_.f90
error: loc("/work/home/ohno/CT/test/fort/tp/reproducerJ/Metro/FFE_2016_V20L30_11/snggz274_.f90":1:1): 'omp.threadprivate' op failed to verify that all of {sym_addr, tls_addr} have same type
error: Lowering to LLVM IR failed
error: loc("/work/home/ohno/CT/test/fort/tp/reproducerJ/Metro/FFE_2016_V20L30_11/snggz274_.f90":1:1): cannot be converted to LLVM IR: missing `LLVMTranslationDialectInterface` registration for dialect for op: func.func
error: failed to create the LLVM module
$
$ gfortran -fopenmp snggz274_.f90; ./a.out
pass
$
$ ifort -qopenmp -diag-disable=10448 snggz274_.f90; ./a.out
pass
$
Metadata
Metadata
Assignees
Labels
Type
Projects
Status
Done