brintos

brintos / llvm-project-archived public Read only

0
0
Text · 893 B · 48539f1 Raw
33 lines · plain
1!RUN: %flang_fc1 -fdebug-unparse %s | FileCheck %s2!Ensure that non-elemental specific takes precedence over elemental3!defined assignment, even with non-default PASS argument.4module m5  type base6    integer :: n = -9997   contains8    procedure, pass(from) :: array_assign_scalar9    procedure :: elemental_assign10    generic :: assignment(=) => array_assign_scalar, elemental_assign11  end type12 contains13  subroutine array_assign_scalar(to, from)14    class(base), intent(out) :: to(:)15    class(base), intent(in) :: from16    to%n = from%n17  end18  impure elemental subroutine elemental_assign(to, from)19    class(base), intent(out) :: to20    class(base), intent(in) :: from21    to%n = from%n22  end23end24 25use m26type(base) :: array(1), scalar27scalar%n = 128!CHECK: CALL array_assign_scalar(array,(scalar))29array = scalar30!CHECK: CALL elemental_assign(array,[base::scalar])31array = [scalar]32end33