Issue |
131579
|
Summary |
[flang] issue in building cp2k 2025.1
|
Labels |
flang
|
Assignees |
|
Reporter |
shivaramaarao
|
Following is the small reproducer that manifests the issue in building cp2k 2025.1 with flang
rep1.f90:
MODULE M1
TYPE T1
REAL(KIND=4), DIMENSION(:, :), POINTER :: ptr => Null()
END TYPE T1
TYPE O1
TYPE(T1), POINTER :: d => Null()
END TYPE O1
END MODULE
MODULE M2
USE M1,only : &
o1_prv => o1
public
TYPE D1
TYPE(o1_prv), PRIVATE :: prv = o1_prv ()
END TYPE D1
END MODULE
MODULE M3
USE M2 , only : d1_prv => D1
PUBLIC
TYPE d1_ext
TYPE(d1_prv), PRIVATE :: prv = d1_prv()
END TYPE
END MODULE
rep2.f90
PROGRAM MAIN
use m3, only : d1_ext
end program
$ flang -c rep1.f90
$ flang -c rep2.f90
error: Semantic errors in /home/shivaram/reprod/rep2.f90
./m3.mod:8:38: error: Value in structure constructor of type 'REAL(4)' is incompatible with component 'prv' of type 'o1_prv'
type(d1_prv),private::prv=d1_prv(prv=o1_prv(d=NULL()))
^^^^^^^^^^^^^^^^
././m2.mod:6:23: Declaration of 'prv'
type(o1_prv),private::prv=o1_prv(d=NULL())
^^^
./m3.mod:8:45: error: Keyword 'd=' may not appear in a reference to a procedure with an implicit interface
type(d1_prv),private::prv=d1_prv(prv=o1_prv(d=NULL()))
^
./m3.mod:8:47: error: Null pointer argument requires an explicit interface
type(d1_prv),private::prv=d1_prv(prv=o1_prv(d=NULL()))
^^^^^^
The error is not reproduced when rep2.f90 is part of rep1.f90
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs