FSF GCC merge 02/23/03
[official-gcc.git] / gcc / testsuite / gcc.c-torture / compile / 20010328-1.c
blobd92c6dae11347f68f1d557392f9d921afb1a0911
1 typedef unsigned int size_t;
2 typedef unsigned int __u_int;
3 typedef unsigned long __u_long;
5 __extension__ typedef unsigned long long int __u_quad_t;
6 __extension__ typedef long long int __quad_t;
8 typedef struct
10 int __val[2];
11 } __fsid_t;
13 typedef long int __blksize_t;
14 typedef long int __blkcnt_t;
15 typedef __quad_t __blkcnt64_t;
16 typedef __u_long __fsblkcnt_t;
17 typedef __u_quad_t __fsblkcnt64_t;
18 typedef __u_long __fsfilcnt_t;
19 typedef __u_quad_t __fsfilcnt64_t;
20 typedef __u_quad_t __ino64_t;
22 extern void *memcpy (void *__restrict __dest,
23 __const void *__restrict __src, size_t __n) ;
25 struct statfs
27 int f_type;
28 int f_bsize;
30 __fsblkcnt_t f_blocks;
31 __fsblkcnt_t f_bfree;
32 __fsblkcnt_t f_bavail;
33 __fsfilcnt_t f_files;
34 __fsfilcnt_t f_ffree;
36 __fsid_t f_fsid;
37 int f_namelen;
38 int f_spare[6];
42 struct statfs64
44 int f_type;
45 int f_bsize;
46 __fsblkcnt64_t f_blocks;
47 __fsblkcnt64_t f_bfree;
48 __fsblkcnt64_t f_bavail;
49 __fsfilcnt64_t f_files;
50 __fsfilcnt64_t f_ffree;
51 __fsid_t f_fsid;
52 int f_namelen;
53 int f_spare[6];
56 extern int __statfs (__const char *__file, struct statfs *__buf);
57 extern int __statfs64 (__const char *__file, struct statfs64 *__buf);
60 int
61 __statfs64 (const char *file, struct statfs64 *buf)
63 struct statfs buf32;
65 if (__statfs (file, &buf32) < 0)
66 return -1;
68 buf->f_type = buf32.f_type;
69 buf->f_bsize = buf32.f_bsize;
70 buf->f_blocks = buf32.f_blocks;
71 buf->f_bfree = buf32.f_bfree;
72 buf->f_bavail = buf32.f_bavail;
73 buf->f_files = buf32.f_files;
74 buf->f_ffree = buf32.f_ffree;
75 buf->f_fsid = buf32.f_fsid;
76 buf->f_namelen = buf32.f_namelen;
77 memcpy (buf->f_spare, buf32.f_spare, sizeof (buf32.f_spare));
79 return 0;