diff options
Diffstat (limited to 'conform/data/sys/stat.h-data')
-rw-r--r-- | conform/data/sys/stat.h-data | 36 |
1 files changed, 26 insertions, 10 deletions
diff --git a/conform/data/sys/stat.h-data b/conform/data/sys/stat.h-data index f5b17a31ac..03be4814ec 100644 --- a/conform/data/sys/stat.h-data +++ b/conform/data/sys/stat.h-data @@ -1,6 +1,6 @@ #if !defined ISO && !defined ISO99 && !defined ISO11 -#if !defined POSIX && !defined POSIX2008 && !defined XPG3 && !defined XPG4 +#if !defined POSIX && !defined POSIX2008 && !defined XPG4 && !defined XPG42 type blkcnt_t type blksize_t #endif @@ -26,14 +26,17 @@ type time_t type {struct stat} -element {struct stat} dev_t st_dev +// Bug 17786: st_dev has wrong type. +// Bug 23084: st_dev has type unsigned long long instead of dev_t (unsigned). +xfail[mips-o32-linux|i386-gnu]-element {struct stat} dev_t st_dev element {struct stat} ino_t st_ino element {struct stat} mode_t st_mode element {struct stat} nlink_t st_nlink element {struct stat} uid_t st_uid element {struct stat} gid_t st_gid #if !defined POSIX && !defined POSIX2008 -element {struct stat} dev_t st_rdev +// Bug 21278: st_rdev has wrong type. +xfail[mips-o32-linux]-element {struct stat} dev_t st_rdev #endif element {struct stat} off_t st_size element {struct stat} time_t st_atime @@ -44,15 +47,24 @@ element {struct stat} {struct timespec} st_atim element {struct stat} {struct timespec} st_mtim element {struct stat} {struct timespec} st_ctim #endif -#if !defined POSIX && !defined POSIX2008 +#if !defined XPG4 && !defined POSIX && !defined POSIX2008 +# ifdef XPG42 +// The XPG42 use of "long" for these fields is not compatible with the +// use of typedefs in future standards to support values outside the +// range of "long". +xfail-element {struct stat} long st_blksize +xfail-element {struct stat} long st_blocks +# else element {struct stat} blksize_t st_blksize element {struct stat} blkcnt_t st_blocks +# endif #endif # if defined XOPEN2K8 || defined POSIX2008 type {struct timespec} element {struct timespec} time_t tv_sec -element {struct timespec} long tv_nsec +// Bug 16437: tv_nsec has wrong type. +xfail[x86_64-x32-linux]-element {struct timespec} long tv_nsec # endif #if !defined POSIX && !defined POSIX2008 @@ -62,8 +74,10 @@ constant S_IFCHR constant S_IFIFO constant S_IFREG constant S_IFDIR +# ifndef XPG4 constant S_IFLNK constant S_IFSOCK +# endif #endif constant S_IRWXU @@ -80,7 +94,7 @@ constant S_IWOTH constant S_IXOTH constant S_ISUID constant S_ISGID -#if !defined POSIX && !defined POSIX2008 +#if !defined XPG4 && !defined POSIX && !defined POSIX2008 constant S_ISVTX #endif @@ -89,7 +103,7 @@ macro S_ISCHR macro S_ISDIR macro S_ISFIFO macro S_ISREG -#if !defined POSIX +#if !defined XPG4 && !defined POSIX macro S_ISLNK macro S_ISSOCK #endif @@ -98,7 +112,7 @@ macro S_ISSOCK optional-macro S_TYPEISMQ optional-macro S_TYPEISSEM optional-macro S_TYPEISSHM -# if !defined POSIX && !defined XPG3 && !defined XPG4 && !defined UNIX98 +# if !defined POSIX && !defined XPG4 && !defined XPG42 && !defined UNIX98 optional-macro S_TYPEISTMO # endif @@ -108,7 +122,9 @@ constant UTIME_OMIT # endif function int chmod (const char*, mode_t) +# ifndef XPG4 function int fchmod (int, mode_t) +# endif # if defined XOPEN2K8 || defined POSIX2008 function int fchmodat (int, const char*, mode_t, int) # endif @@ -117,7 +133,7 @@ function int fstat (int, struct stat*) function int fstatat (int, const char*, struct stat*, int) function int futimens (int, const struct timespec[2]) # endif -#if !defined POSIX +#if !defined XPG4 && !defined POSIX function int lstat (const char*, struct stat*) #endif function int mkdir (const char*, mode_t) @@ -128,7 +144,7 @@ function int mkfifo (const char*, mode_t) # if defined XOPEN2K8 || defined POSIX2008 function int mkfifoat (int, const char*, mode_t) # endif -# if !defined POSIX && !defined POSIX2008 +# if !defined XPG4 && !defined POSIX && !defined POSIX2008 function int mknod (const char*, mode_t, dev_t) # endif # ifdef XOPEN2K8 |