OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-old/] [gcc-4.2.2/] [gcc/] [testsuite/] [gfortran.dg/] [spread_scalar_source.f90] - Diff between revs 154 and 816

Go to most recent revision | Only display areas with differences | Details | Blame | View Log

Rev 154 Rev 816
! { dg-do run }
! { dg-do run }
! { dg-options "-O0" }
! { dg-options "-O0" }
  character*1 :: i, j(10)
  character*1 :: i, j(10)
  character*8 :: buffer
  character*8 :: buffer
  integer(kind=1) :: ii, jj(10)
  integer(kind=1) :: ii, jj(10)
  type :: mytype
  type :: mytype
    real(kind=8) :: x
    real(kind=8) :: x
    integer(kind=1) :: i
    integer(kind=1) :: i
    character*15 :: ch
    character*15 :: ch
  end type mytype
  end type mytype
  type(mytype) :: iii, jjj(10)
  type(mytype) :: iii, jjj(10)
  i = "w"
  i = "w"
  ii = 42
  ii = 42
  iii = mytype (41.9999_8, 77, "test_of_spread_")
  iii = mytype (41.9999_8, 77, "test_of_spread_")
! Test constant sources.
! Test constant sources.
  j = spread ("z", 1 , 10)
  j = spread ("z", 1 , 10)
  if (any (j /= "z")) call abort ()
  if (any (j /= "z")) call abort ()
  jj = spread (19, 1 , 10)
  jj = spread (19, 1 , 10)
  if (any (jj /= 19)) call abort ()
  if (any (jj /= 19)) call abort ()
! Test variable sources.
! Test variable sources.
  j = spread (i, 1 , 10)
  j = spread (i, 1 , 10)
  if (any (j /= "w")) call abort ()
  if (any (j /= "w")) call abort ()
  jj = spread (ii, 1 , 10)
  jj = spread (ii, 1 , 10)
  if (any (jj /= 42)) call abort ()
  if (any (jj /= 42)) call abort ()
  jjj = spread (iii, 1 , 10)
  jjj = spread (iii, 1 , 10)
  if (any (jjj%x /= 41.9999_8)) call abort ()
  if (any (jjj%x /= 41.9999_8)) call abort ()
  if (any (jjj%i /= 77)) call abort ()
  if (any (jjj%i /= 77)) call abort ()
  if (any (jjj%ch /= "test_of_spread_")) call abort ()
  if (any (jjj%ch /= "test_of_spread_")) call abort ()
! Check that spread != 1 is OK.
! Check that spread != 1 is OK.
  jj(2:10:2) = spread (1, 1, 5)
  jj(2:10:2) = spread (1, 1, 5)
  if (any (jj(1:9:2) /= 42) .or. any (jj(2:10:2) /= 1)) call abort ()
  if (any (jj(1:9:2) /= 42) .or. any (jj(2:10:2) /= 1)) call abort ()
! Finally, check that temporaries and trans-io.c work correctly.
! Finally, check that temporaries and trans-io.c work correctly.
  write (buffer, '(4a1)') spread (i, 1 , 4)
  write (buffer, '(4a1)') spread (i, 1 , 4)
  if (trim(buffer) /= "wwww") call abort ()
  if (trim(buffer) /= "wwww") call abort ()
  write (buffer, '(4a1)') spread ("r", 1 , 4)
  write (buffer, '(4a1)') spread ("r", 1 , 4)
  if (trim(buffer) /= "rrrr") call abort ()
  if (trim(buffer) /= "rrrr") call abort ()
  write (buffer, '(4i2)') spread (ii, 1 , 4)
  write (buffer, '(4i2)') spread (ii, 1 , 4)
  if (trim(buffer) /= "42424242") call abort ()
  if (trim(buffer) /= "42424242") call abort ()
  write (buffer, '(4i2)') spread (31, 1 , 4)
  write (buffer, '(4i2)') spread (31, 1 , 4)
  if (trim(buffer) /= "31313131") call abort ()
  if (trim(buffer) /= "31313131") call abort ()
  end
  end
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.