| ! { dg-do run } |
| ! { dg-options "-fdec-structure" } |
| ! |
| ! Test UNIONs with initializations. |
| ! |
| |
| subroutine aborts (s) |
| character(*), intent(in) :: s |
| print *, s |
| STOP 1 |
| end subroutine |
| |
| ! Initialization expressions |
| structure /s3/ |
| integer(4) :: i = 8 |
| union ! U7 |
| map |
| integer(4) :: x = 1600 |
| integer(4) :: y = 1800 |
| end map |
| map |
| integer(2) a, b, c |
| end map |
| end union |
| end structure |
| |
| record /s3/ r3 |
| |
| ! Initialized unions |
| if ( r3.x .ne. 1600 .or. r3.y .ne. 1800) then |
| r3.x = r3.y ! If r3 isn't used the initializations are optimized out |
| call aborts ("union initialization") |
| endif |
| |
| end |