diff options
author | Philip Blundell <philb@gnu.org> | 2001-03-28 17:46:52 +0000 |
---|---|---|
committer | Phil Blundell <pb@gcc.gnu.org> | 2001-03-28 17:46:52 +0000 |
commit | 145c1defc3f198f0ade55657bc986fc10e4e6ab4 (patch) | |
tree | 43e87d72e9275d2c78028261baed9954c38784a7 | |
parent | 500164d2363d678e4c44a45c8962ca4081e5b218 (diff) | |
download | gcc-145c1defc3f198f0ade55657bc986fc10e4e6ab4.zip gcc-145c1defc3f198f0ade55657bc986fc10e4e6ab4.tar.gz gcc-145c1defc3f198f0ade55657bc986fc10e4e6ab4.tar.bz2 |
20010328-1.c: New test.
2001-03-28 Philip Blundell <philb@gnu.org>
* gcc.c-torture/compile/20010328-1.c: New test.
From-SVN: r40934
-rw-r--r-- | gcc/testsuite/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/testsuite/gcc.c-torture/compile/20010328-1.c | 80 |
2 files changed, 84 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index be5f372..698ec4b 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2001-03-28 Philip Blundell <philb@gnu.org> + + * gcc.c-torture/compile/20010328-1.c: New test. + 2001-03-27 Richard Henderson <rth@redhat.com> * g++.old-deja/g++.eh/crash3.C: Don't use -fsjlj-exceptions. diff --git a/gcc/testsuite/gcc.c-torture/compile/20010328-1.c b/gcc/testsuite/gcc.c-torture/compile/20010328-1.c new file mode 100644 index 0000000..d92c6da --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/compile/20010328-1.c @@ -0,0 +1,80 @@ +typedef unsigned int size_t; +typedef unsigned int __u_int; +typedef unsigned long __u_long; + +__extension__ typedef unsigned long long int __u_quad_t; +__extension__ typedef long long int __quad_t; + +typedef struct + { + int __val[2]; + } __fsid_t; + +typedef long int __blksize_t; +typedef long int __blkcnt_t; +typedef __quad_t __blkcnt64_t; +typedef __u_long __fsblkcnt_t; +typedef __u_quad_t __fsblkcnt64_t; +typedef __u_long __fsfilcnt_t; +typedef __u_quad_t __fsfilcnt64_t; +typedef __u_quad_t __ino64_t; + +extern void *memcpy (void *__restrict __dest, + __const void *__restrict __src, size_t __n) ; + +struct statfs + { + int f_type; + int f_bsize; + + __fsblkcnt_t f_blocks; + __fsblkcnt_t f_bfree; + __fsblkcnt_t f_bavail; + __fsfilcnt_t f_files; + __fsfilcnt_t f_ffree; + + __fsid_t f_fsid; + int f_namelen; + int f_spare[6]; + }; + + +struct statfs64 + { + int f_type; + int f_bsize; + __fsblkcnt64_t f_blocks; + __fsblkcnt64_t f_bfree; + __fsblkcnt64_t f_bavail; + __fsfilcnt64_t f_files; + __fsfilcnt64_t f_ffree; + __fsid_t f_fsid; + int f_namelen; + int f_spare[6]; + }; + +extern int __statfs (__const char *__file, struct statfs *__buf); +extern int __statfs64 (__const char *__file, struct statfs64 *__buf); + + +int +__statfs64 (const char *file, struct statfs64 *buf) +{ + struct statfs buf32; + + if (__statfs (file, &buf32) < 0) + return -1; + + buf->f_type = buf32.f_type; + buf->f_bsize = buf32.f_bsize; + buf->f_blocks = buf32.f_blocks; + buf->f_bfree = buf32.f_bfree; + buf->f_bavail = buf32.f_bavail; + buf->f_files = buf32.f_files; + buf->f_ffree = buf32.f_ffree; + buf->f_fsid = buf32.f_fsid; + buf->f_namelen = buf32.f_namelen; + memcpy (buf->f_spare, buf32.f_spare, sizeof (buf32.f_spare)); + + return 0; +} |