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) {
743743 } else if (auto bty = mlir::dyn_cast<fir::BoxType>(ty)) {
744744 inBox = true ;
745745 typeScan (bty.getEleTy ());
746+ } else if (auto cty = mlir::dyn_cast<fir::ClassType>(ty)) {
747+ inBox = true ;
748+ typeScan (cty.getEleTy ());
746749 } else if (auto cty = mlir::dyn_cast<fir::CharacterType>(ty)) {
747750 charLen = cty.getLen ();
748751 } 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