brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.1 KiB · facc280 Raw
27 lines · plain
1!RUN: %flang_fc1 -fdebug-dump-symbols %s | FileCheck %s2!Ensure ASSIGNMENT(=) overrides are applied to the special procedures table.3module m4  type base5   contains6    procedure :: baseAssign7    generic :: assignment(=) => baseAssign8  end type9  type, extends(base) :: child10   contains11    procedure :: override12    generic :: assignment(=) => override13  end type14 contains15  impure elemental subroutine baseAssign(to, from)16    class(base), intent(out) :: to17    type(base), intent(in) :: from18  end19  impure elemental subroutine override(to, from)20    class(child), intent(out) :: to21    type(child), intent(in) :: from22  end23end24 25!CHECK: .s.child, SAVE, TARGET (CompilerCreated, ReadOnly): ObjectEntity type: TYPE(specialbinding) shape: 0_8:0_8 init:[specialbinding::specialbinding(which=2_1,isargdescriptorset=1_1,istypebound=2_1,specialcaseflag=0_1,proc=override)]26!CHECK: .v.child, SAVE, TARGET (CompilerCreated, ReadOnly): ObjectEntity type: TYPE(binding) shape: 0_8:1_8 init:[binding::binding(proc=baseassign,name=.n.baseassign),binding(proc=override,name=.n.override)]27