! Test that private component names are mangled inside fir.record ! in a way that allow components with the same name to be added in ! type extensions. ! RUN: bbc -emit-hlfir -o - %s | FileCheck %s module name_clash type:: t integer, private :: i end type type(t), parameter :: cst = t(42) end module !CHECK-LABEL: func.func @_QPuser_clash( !CHECK-SAME: !fir.ref,i:i32}>> !CHECK-SAME: !fir.ref> subroutine user_clash(a, at) use name_clash type,extends(t) :: t2 integer :: i = 2 end type type(t2) :: a, b type(t) :: at print *, a%i print *, t2(t=at) a = b end subroutine ! CHECK-LABEL: func.func @_QPclash_with_intrinsic_module( ! CHECK-SAME: !fir.ref,which:i8}>> subroutine clash_with_intrinsic_module(a) use ieee_arithmetic type, extends(ieee_class_type) :: my_class integer(1) :: which end type type(my_class) :: a end subroutine