# { 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