File: array_constructor_53.f90

package info (click to toggle)
gcc-arm-none-eabi 15%3A12.2.rel1-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 959,712 kB
  • sloc: cpp: 3,275,382; ansic: 2,061,766; ada: 840,956; f90: 208,513; makefile: 76,132; asm: 73,433; xml: 50,448; exp: 34,146; sh: 32,436; objc: 15,637; fortran: 14,012; python: 11,991; pascal: 6,787; awk: 4,779; perl: 3,054; yacc: 338; ml: 285; lex: 201; haskell: 122
file content (19 lines) | stat: -rw-r--r-- 568 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
! { dg-do  run }
! PR 84931 - long array constructors with type conversion were not
! handled correctly. array_constructor_52.f90 tests the original
! problem.
program test
   implicit none
   integer, parameter :: n = 2**16 + 1
   real, dimension(n) :: y
   real, dimension(2*n) :: z
   integer :: i

   y = [33, (1, i=1, n-1) ]    ! Check that something more complicated works
   if (int(y(3)) /= 1) stop 1

   z = [[(1, i=1, n) ],[(2, i=1, n) ]] ! Failed with first version of the fix

   if (int(z(2)) /= 1) stop 2
   if (int(z(n+1)) /= 2) stop 3
end program test