xref: /llvm-project/flang/test/Evaluate/fold-re-im.f90 (revision 3a26596af3613a2ede294ed017f2c05e48255713)
1*3a26596aSPeter Klausler! RUN: %python %S/test_folding.py %s %flang_fc1
2*3a26596aSPeter Klausler! Tests folding of complex components
3*3a26596aSPeter Klauslermodule m
4*3a26596aSPeter Klausler  complex, parameter :: z = (1., 2.)
5*3a26596aSPeter Klausler  logical, parameter :: test_1 = z%re == 1.
6*3a26596aSPeter Klausler  logical, parameter :: test_2 = z%im == 2.
7*3a26596aSPeter Klausler  logical, parameter :: test_3 = real(z+z) == 2.
8*3a26596aSPeter Klausler  logical, parameter :: test_4 = aimag(z+z) == 4.
9*3a26596aSPeter Klausler  type :: t
10*3a26596aSPeter Klausler    complex :: z
11*3a26596aSPeter Klausler  end type
12*3a26596aSPeter Klausler  type(t), parameter :: tz(*) = [t((3., 4.)), t((5., 6.))]
13*3a26596aSPeter Klausler  logical, parameter :: test_5 = all(tz%z%re == [3., 5.])
14*3a26596aSPeter Klausler  logical, parameter :: test_6 = all(tz%z%im == [4., 6.])
15*3a26596aSPeter Klauslerend module
16