11551c094SValentin Clement (バレンタイン クレメン)! RUN: bbc -emit-hlfir %s -o - | FileCheck %s 21551c094SValentin Clement (バレンタイン クレメン) 31551c094SValentin Clement (バレンタイン クレメン)pure subroutine sub1() 41551c094SValentin Clement (バレンタイン クレメン)end 51551c094SValentin Clement (バレンタイン クレメン) 6*d9250061SjeanPerier! CHECK: func.func @_QPsub1() attributes {fir.proc_attrs = #fir.proc_attrs<pure>} 71551c094SValentin Clement (バレンタイン クレメン) 81551c094SValentin Clement (バレンタイン クレメン)elemental subroutine sub2() 91551c094SValentin Clement (バレンタイン クレメン)end 101551c094SValentin Clement (バレンタイン クレメン) 11*d9250061SjeanPerier! CHECK: func.func @_QPsub2() attributes {fir.proc_attrs = #fir.proc_attrs<elemental, pure>} 121551c094SValentin Clement (バレンタイン クレメン) 13*d9250061SjeanPeriernon_recursive subroutine sub3() 141551c094SValentin Clement (バレンタイン クレメン)end 151551c094SValentin Clement (バレンタイン クレメン) 16*d9250061SjeanPerier! CHECK: func.func @_QPsub3() attributes {fir.proc_attrs = #fir.proc_attrs<non_recursive>} 17*d9250061SjeanPerier 18*d9250061SjeanPerierimpure elemental subroutine sub4() 19*d9250061SjeanPerierend 20*d9250061SjeanPerier 21*d9250061SjeanPerier! CHECK: func.func @_QPsub4() attributes {fir.proc_attrs = #fir.proc_attrs<elemental>} 221551c094SValentin Clement (バレンタイン クレメン) 231551c094SValentin Clement (バレンタイン クレメン)pure function fct1() 241551c094SValentin Clement (バレンタイン クレメン)end 251551c094SValentin Clement (バレンタイン クレメン) 26*d9250061SjeanPerier! CHECK: func.func @_QPfct1() -> f32 attributes {fir.proc_attrs = #fir.proc_attrs<pure>} 271551c094SValentin Clement (バレンタイン クレメン) 281551c094SValentin Clement (バレンタイン クレメン)elemental function fct2() 291551c094SValentin Clement (バレンタイン クレメン)end 301551c094SValentin Clement (バレンタイン クレメン) 31*d9250061SjeanPerier! CHECK: func.func @_QPfct2() -> f32 attributes {fir.proc_attrs = #fir.proc_attrs<elemental, pure>} 321551c094SValentin Clement (バレンタイン クレメン) 33*d9250061SjeanPeriernon_recursive function fct3() 341551c094SValentin Clement (バレンタイン クレメン)end 351551c094SValentin Clement (バレンタイン クレメン) 36*d9250061SjeanPerier! CHECK: func.func @_QPfct3() -> f32 attributes {fir.proc_attrs = #fir.proc_attrs<non_recursive>} 37