From 554fd8c5195424bdbcabf5de30fdc183aba391bd Mon Sep 17 00:00:00 2001 From: upstream source tree Date: Sun, 15 Mar 2015 20:14:05 -0400 Subject: obtained gcc-4.6.4.tar.bz2 from upstream website; verified gcc-4.6.4.tar.bz2.sig; imported gcc-4.6.4 source tree from verified upstream tarball. downloading a git-generated archive based on the 'upstream' tag should provide you with a source tree that is binary identical to the one extracted from the above tarball. if you have obtained the source via the command 'git clone', however, do note that line-endings of files in your working directory might differ from line-endings of the respective files in the upstream repository. --- gcc/testsuite/gfortran.dg/spread_scalar_source.f90 | 52 ++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 gcc/testsuite/gfortran.dg/spread_scalar_source.f90 (limited to 'gcc/testsuite/gfortran.dg/spread_scalar_source.f90') diff --git a/gcc/testsuite/gfortran.dg/spread_scalar_source.f90 b/gcc/testsuite/gfortran.dg/spread_scalar_source.f90 new file mode 100644 index 000000000..118a2de6e --- /dev/null +++ b/gcc/testsuite/gfortran.dg/spread_scalar_source.f90 @@ -0,0 +1,52 @@ +! { dg-do run } +! { dg-options "-O0" } + + character*1 :: i, j(10) + character*8 :: buffer + integer(kind=1) :: ii, jj(10) + type :: mytype + real(kind=8) :: x + integer(kind=1) :: i + character*15 :: ch + end type mytype + type(mytype) :: iii, jjj(10) + + i = "w" + ii = 42 + iii = mytype (41.9999_8, 77, "test_of_spread_") + +! Test constant sources. + + j = spread ("z", 1 , 10) + if (any (j /= "z")) call abort () + jj = spread (19, 1 , 10) + if (any (jj /= 19)) call abort () + +! Test variable sources. + + j = spread (i, 1 , 10) + if (any (j /= "w")) call abort () + jj = spread (ii, 1 , 10) + if (any (jj /= 42)) call abort () + jjj = spread (iii, 1 , 10) + if (any (jjj%x /= 41.9999_8)) call abort () + if (any (jjj%i /= 77)) call abort () + if (any (jjj%ch /= "test_of_spread_")) call abort () + +! Check that spread != 1 is OK. + + jj(2:10:2) = spread (1, 1, 5) + 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. + + write (buffer, '(4a1)') spread (i, 1 , 4) + if (trim(buffer) /= "wwww") call abort () + write (buffer, '(4a1)') spread ("r", 1 , 4) + if (trim(buffer) /= "rrrr") call abort () + write (buffer, '(4i2)') spread (ii, 1 , 4) + if (trim(buffer) /= "42424242") call abort () + write (buffer, '(4i2)') spread (31, 1 , 4) + if (trim(buffer) /= "31313131") call abort () + + end -- cgit v1.2.3