summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gfortran.dg/stat_2.f90
diff options
context:
space:
mode:
authorupstream source tree <ports@midipix.org>2015-03-15 20:14:05 -0400
committerupstream source tree <ports@midipix.org>2015-03-15 20:14:05 -0400
commit554fd8c5195424bdbcabf5de30fdc183aba391bd (patch)
tree976dc5ab7fddf506dadce60ae936f43f58787092 /gcc/testsuite/gfortran.dg/stat_2.f90
downloadcbb-gcc-4.6.4-554fd8c5195424bdbcabf5de30fdc183aba391bd.tar.bz2
cbb-gcc-4.6.4-554fd8c5195424bdbcabf5de30fdc183aba391bd.tar.xz
obtained gcc-4.6.4.tar.bz2 from upstream website;upstream
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.
Diffstat (limited to 'gcc/testsuite/gfortran.dg/stat_2.f90')
-rw-r--r--gcc/testsuite/gfortran.dg/stat_2.f9027
1 files changed, 27 insertions, 0 deletions
diff --git a/gcc/testsuite/gfortran.dg/stat_2.f90 b/gcc/testsuite/gfortran.dg/stat_2.f90
new file mode 100644
index 000000000..a530ec347
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/stat_2.f90
@@ -0,0 +1,27 @@
+! { dg-do run }
+! { dg-skip-if "" { *-*-mingw* spu-*-* } { "*" } { "" } }
+! { dg-options "-std=gnu" }
+ character(len=*), parameter :: f = "testfile"
+ integer :: s1(13), r1, s2(13), r2, s3(13), r3, d(13), rd
+
+ open (10,file=f)
+ write (10,"(A)") "foo"
+ close (10,status="keep")
+
+ open (10,file=f)
+ r1 = lstat (f, s1)
+ r2 = stat (f, s2)
+ r3 = fstat (10, s3)
+ rd = stat (".", d)
+
+ if (r1 /= 0 .or. r2 /= 0 .or. r3 /= 0 .or. rd /= 0) call abort
+ if (any (s1 /= s2) .or. any (s1 /= s3)) call abort
+ if (s1(5) /= getuid()) call abort
+! If the test is run in a directory with the sgid bit set or on a filesystem
+! mounted with the grpid option, new files are created with the directory's
+! gid instead of the user's primary gid, so allow for that.
+ if (s1(6) /= getgid() .and. s1(6) /= d(6) .and. getgid() /= 0) call abort
+ if (s1(8) < 3 .or. s1(8) > 5) call abort
+
+ close (10,status="delete")
+ end