aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/algol68/execute/call-2.a68
blob: 21a6b252028ae8e12c426cd9920a7cd69e14d937 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# { dg-options "-fstropping=upper" }  #
BEGIN INT control := 0;
      PROC set control = (PROC(INT)VOID p) VOID: p (100);
      PROC setter = (INT i) VOID: control := i;
      PROC(INT)VOID setter 2 = (INT i) VOID: control := i + 1;
      PROC(INT)VOID setter 3 := setter 2;
      PROC(INT)VOID setter 4 := (INT i) VOID: control := i + 2;
      REF PROC(INT)VOID setter 5 := setter 4;
      set control (setter);
      ASSERT (control = 100);
      set control (setter 2);
      ASSERT (control = 101);
      control := 0;
      set control (setter 3);
      ASSERT (control = 101);
      set control (setter 4);
      ASSERT (control = 102);
      control := 0;
      set control (setter 5);
      ASSERT (control = 102)
END