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. --- .../gfortran.dg/intrinsic_optional_char_arg_1.f90 | 32 ++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 gcc/testsuite/gfortran.dg/intrinsic_optional_char_arg_1.f90 (limited to 'gcc/testsuite/gfortran.dg/intrinsic_optional_char_arg_1.f90') diff --git a/gcc/testsuite/gfortran.dg/intrinsic_optional_char_arg_1.f90 b/gcc/testsuite/gfortran.dg/intrinsic_optional_char_arg_1.f90 new file mode 100644 index 000000000..3215f43fa --- /dev/null +++ b/gcc/testsuite/gfortran.dg/intrinsic_optional_char_arg_1.f90 @@ -0,0 +1,32 @@ +! { dg-do compile } +! { dg-options "-fdump-tree-original" } + +! PR fortran/36403 +! Check that string lengths of optional arguments are added to the library-call +! even if those arguments are missing. + +PROGRAM main + IMPLICIT NONE + + CHARACTER(len=1) :: vect(4) + CHARACTER(len=1) :: matrix(2, 2) + + matrix(1, 1) = "" + matrix(2, 1) = "a" + matrix(1, 2) = "b" + matrix(2, 2) = "" + vect = (/ "w", "x", "y", "z" /) + + ! Call the affected intrinsics + vect = EOSHIFT (vect, 2) + vect = PACK (matrix, matrix /= "") + matrix = RESHAPE (vect, (/ 2, 2 /)) + +END PROGRAM main + +! All library function should be called with *two* trailing arguments "1" for +! the string lengths of both the main array and the optional argument: +! { dg-final { scan-tree-dump "_eoshift\[0-9_\]+char \\(\[&a-zA-Z0-9._, \]+, 1, 0\\)" "original" } } +! { dg-final { scan-tree-dump "_reshape\[0-9_\]+char \\(\[&a-zA-Z0-9._, \]+, 1, 0\\)" "original" } } +! { dg-final { scan-tree-dump "_pack\[0-9_\]+char \\(\[&a-zA-Z0-9._, \]+, 1, 0\\)" "original" } } +! { dg-final { cleanup-tree-dump "original" } } -- cgit v1.2.3