aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/algol68/execute/selection-4.a68
blob: 9e81db222c1af6a19ac75dca5038490c85822c29 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# { dg-options "-fstropping=upper" }  #
# Structs can be nested in other structs.  Version with subnames.  #
BEGIN MODE INCOME = STRUCT (REAL salary, stock, INT code);
      MODE PERSON = STRUCT (INT age, INCOME income, INT num children);

      PERSON person;

      age OF person := 44;
      salary OF income OF person := 999.99;
      stock OF income OF person := 0.0;
      num children OF person := 3;
      code OF income OF person := num children OF person;

      ASSERT (age OF person = 44);
      ASSERT (code OF income OF person = num children OF person);
      ASSERT (code OF income OF person = 3);
      ASSERT (num children OF person = 3);
      ASSERT (num children OF person * code OF income OF person = 9)
END