Following RFC at https://discourse.llvm.org/t/rfc-ffp-contract-default-value/66301 This adds the `fastmath<contract>` attribute to `fir.call` and some floating point arithmetic operations (hence the many test changes). Instead of testing for this specific attribute, I am using a regular expression to match any attributes.
15 lines
805 B
Fortran
15 lines
805 B
Fortran
! RUN: bbc %s -o "-" -emit-fir | FileCheck %s
|
|
! Test lowering of calls to procedures with implicit interfaces using different
|
|
! calls with different argument types, one of which is character
|
|
subroutine s2
|
|
integer i(3)
|
|
! CHECK: %[[a0:.*]] = fir.alloca !fir.array<3xi32> {bindc_name = "i", uniq_name = "_QFs2Ei"}
|
|
! CHECK: fir.call @_QPsub2(%[[a0]]) {{.*}}: (!fir.ref<!fir.array<3xi32>>) -> ()
|
|
call sub2(i)
|
|
! CHECK: %[[a1:.*]] = fir.address_of(@_QQcl.3031323334) : !fir.ref<!fir.char<1,5>>
|
|
! CHECK: %[[a2:.*]] = fir.convert %[[a1]] : (!fir.ref<!fir.char<1,5>>) -> !fir.ref<!fir.char<1,?>>
|
|
! CHECK: %[[a3:.*]] = fir.convert %[[a2]] : (!fir.ref<!fir.char<1,?>>) -> !fir.ref<!fir.array<3xi32>>
|
|
! CHECK: fir.call @_QPsub2(%[[a3]]) {{.*}}: (!fir.ref<!fir.array<3xi32>>) -> ()
|
|
call sub2("01234")
|
|
end
|