diff options
author | Daniel Chen <cdchen@ca.ibm.com> | 2024-02-08 10:38:50 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-02-08 10:38:50 -0500 |
commit | 0802596df3d1ffd15f6b828a0f5c1e5b687a730f (patch) | |
tree | 2d5e480afceb0524243e1485ee6b8bd43b8b917f /clang/lib/Frontend/ModuleDependencyCollector.cpp | |
parent | 5452cbc4a6bfb905fedeacaa6f27895e249da1e5 (diff) | |
download | llvm-0802596df3d1ffd15f6b828a0f5c1e5b687a730f.zip llvm-0802596df3d1ffd15f6b828a0f5c1e5b687a730f.tar.gz llvm-0802596df3d1ffd15f6b828a0f5c1e5b687a730f.tar.bz2 |
[Flang] Update the fix of PR 80738 to cover generic interface inside modules (#81087)
The following test cases crashes. The problem is that the fix for PR
https://github.com/llvm/llvm-project/pull/80738 is not quite complete.
It should `GetUltimate()` of the `interface_` before check if it is
generic.
```
MODULE M
CONTAINS
FUNCTION Int(Arg)
INTEGER :: Int, Arg
Int = Arg
END FUNCTION
FUNCTION Int8(Arg)
INTEGER(8) :: Int8, Arg
Int8 = 8_8
END FUNCTION
END MODULE
MODULE M1
USE M
INTERFACE Int8
MODULE PROCEDURE Int
MODULE PROCEDURE Int8
END INTERFACE
END MODULE
PROGRAM PtrAssignGen
USE M
USE M1
IMPLICIT NONE
INTERFACE Int
MODULE PROCEDURE Int
MODULE PROCEDURE Int8
END INTERFACE
PROCEDURE(Int8), POINTER :: PtrInt8
PtrInt8 => Int8
IF ( PtrInt8(100_8) .NE. 8_8 ) ERROR STOP 12
END
```
Diffstat (limited to 'clang/lib/Frontend/ModuleDependencyCollector.cpp')
0 files changed, 0 insertions, 0 deletions