! { dg-do compile } ! { dg-options "-fdec-structure" } ! ! Comprehensive compile tests for what unions CAN'T do. ! ! Syntax errors structure /s0/ union a b c ! { dg-error "Junk after UNION" } union map a b c ! { dg-error "Junk after MAP" } integer x ! { dg-error "Unexpected" } structure /s2/ ! { dg-error "Unexpected" } map map ! { dg-error "Unexpected" } end map end union end structure ! Initialization expressions structure /s1/ union map integer(4) :: x = 1600 ! { dg-error "Conflicting initializers" } integer(4) :: y = 1800 end map map integer(2) a, b, c, d integer :: e = 0 ! { dg-error "Conflicting initializers" } end map map real :: p = 1.3, q = 3.7 ! { dg-error "Conflicting initializers" } end map end union end structure record /s1/ r1 end