File tree Expand file tree Collapse file tree 2 files changed +21
-0
lines changed Expand file tree Collapse file tree 2 files changed +21
-0
lines changed Original file line number Diff line number Diff line change @@ -743,6 +743,9 @@ void TypeInfo::typeScan(mlir::Type ty) {
743
743
} else if (auto bty = mlir::dyn_cast<fir::BoxType>(ty)) {
744
744
inBox = true ;
745
745
typeScan (bty.getEleTy ());
746
+ } else if (auto cty = mlir::dyn_cast<fir::ClassType>(ty)) {
747
+ inBox = true ;
748
+ typeScan (cty.getEleTy ());
746
749
} else if (auto cty = mlir::dyn_cast<fir::CharacterType>(ty)) {
747
750
charLen = cty.getLen ();
748
751
} else if (auto hty = mlir::dyn_cast<fir::HeapType>(ty)) {
Original file line number Diff line number Diff line change
1
+ ! RUN: %flang_fc1 -emit-hlfir -fopenmp -o - %s 2>&1 | FileCheck %s
2
+
3
+ ! The second testcase from https://github.com/llvm/llvm-project/issues/141481
4
+
5
+ ! Check that we don't crash on this.
6
+
7
+ ! CHECK: omp.single copyprivate(%6#0 -> @_copy_class_ptr_rec__QFf01Tt : !fir.ref<!fir.class<!fir.ptr<!fir.type<_QFf01Tt>>>>) {
8
+ ! CHECK: omp.terminator
9
+ ! CHECK: }
10
+
11
+ subroutine f01
12
+ type t
13
+ end type
14
+ class(t), pointer :: tt
15
+
16
+ ! $omp single copyprivate(tt)
17
+ ! $omp end single
18
+ end
You can’t perform that action at this time.
0 commit comments