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