This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
conformtest: Clean up expectations for POSIX for more headers
- From: "Joseph S. Myers" <joseph at codesourcery dot com>
- To: <libc-alpha at sourceware dot org>
- Date: Thu, 15 Nov 2012 02:43:58 +0000
- Subject: conformtest: Clean up expectations for POSIX for more headers
Continuing the review of conformtest expectations for "POSIX", this
patch cleans up the expectations for more headers to be more accurate
for that standard version.
Tested x86_64, on top of
<http://sourceware.org/ml/libc-alpha/2012-11/msg00326.html> and
<http://sourceware.org/ml/libc-alpha/2012-11/msg00340.html>. This one
does not introduce any new conformtest failures for POSIX.
2012-11-15 Joseph Myers <joseph@codesourcery.com>
* conform/data/errno.h-data [POSIX] (EADDRINUSE): Do not expect.
[POSIX] (EADDRNOTAVAIL): Likewise.
[POSIX] (EAFNOSUPPORT): Likewise.
[POSIX] (EALREADY): Likewise.
[POSIX] (ECONNABORTED): Likewise.
[POSIX] (ECONNREFUSED): Likewise.
[POSIX] (ECONNRESET): Likewise.
[POSIX] (EDESTADDRREQ): Likewise.
[POSIX] (EDQUOT): Likewise.
[POSIX] (EHOSTUNREACH): Likewise.
[POSIX] (EIDRM): Likewise.
[POSIX] (EISCONN): Likewise.
[POSIX] (ELOOP): Likewise.
[POSIX] (EMULTIHOP): Likewise.
[POSIX] (ENETDOWN): Likewise.
[POSIX] (ENETUNREACH): Likewise.
[POSIX] (ENOBUFS): Likewise.
[POSIX] (ENODATA): Likewise.
[POSIX] (ENOLINK): Likewise.
[POSIX] (ENOMSG): Likewise.
[POSIX] (ENOPROTOOPT): Likewise.
[POSIX] (ENOSR): Likewise.
[POSIX] (ENOSTR): Likewise.
[POSIX] (ENOTCONN): Likewise.
[POSIX] (ENOTSOCK): Likewise.
[POSIX] (EOPNOTSUPP): Likewise.
[POSIX] (EOVERFLOW): Likewise.
[POSIX] (EPROTO): Likewise.
[POSIX] (EPROTONOSUPPORT): Likewise.
[POSIX] (EPROTOTYPE): Likewise.
[POSIX] (ESTALE): Likewise.
[POSIX] (ETIME): Likewise.
[POSIX] (ETXTBSY): Likewise.
[POSIX] (EWOULDBLOCK): Likewise.
[!ISO && !ISO99 && !ISO11] (E*): Do not allow.
* conform/data/fcntl.h-data [POSIX] (SEEK_SET): Allow.
[POSIX] (SEEK_CUR): Likewise.
[POSIX] (SEEK_END): Likewise.
[POSIX || UNIX98] (mode_t): Do not require.
[POSIX] (off_t): Likewise.
[POSIX] (pid_t): Likewise.
[POSIX] (sys/stat.h): Do not allow header.
[POSIX] (unistd.h): Likewise.
[!ISO && !ISO99 && !ISO11] (timespec): Do not allow.
[!ISO && !ISO99 && !ISO11] (tv_nsec): Likewise.
[!ISO && !ISO99 && !ISO11] (tv_sec): Likewise.
* conform/data/locale.h-data [POSIX] (LC_MESSAGES): Do not
require.
* conform/data/mqueue.h-data [!ISO && !ISO99 && !ISO11] (struct
sigevent): Specify elements.
[XOPEN2K8 || POSIX2008] (struct sigevent): Remove duplicate type
entry.
[!ISO && !ISO99 && !ISO11] (mq_*): Allow.
[!ISO && !ISO99 && !ISO11] (MQ_*): Likewise.
diff --git a/conform/data/errno.h-data b/conform/data/errno.h-data
index eaf6c21..12730ba 100644
--- a/conform/data/errno.h-data
+++ b/conform/data/errno.h-data
@@ -10,78 +10,116 @@ allow errno
#if !defined ISO && !defined ISO99 && !defined ISO11
macro-int-constant E2BIG {int} > 0
macro-int-constant EACCES {int} > 0
+# if !defined POSIX
macro-int-constant EADDRINUSE {int} > 0
macro-int-constant EADDRNOTAVAIL {int} > 0
macro-int-constant EAFNOSUPPORT {int} > 0
+# endif
macro-int-constant EAGAIN {int} > 0
+# if !defined POSIX
macro-int-constant EALREADY {int} > 0
+# endif
macro-int-constant EBADF {int} > 0
macro-int-constant EBADMSG {int} > 0
macro-int-constant EBUSY {int} > 0
macro-int-constant ECANCELED {int} > 0
macro-int-constant ECHILD {int} > 0
+# if !defined POSIX
macro-int-constant ECONNABORTED {int} > 0
macro-int-constant ECONNREFUSED {int} > 0
macro-int-constant ECONNRESET {int} > 0
+# endif
macro-int-constant EDEADLK {int} > 0
+# if !defined POSIX
macro-int-constant EDESTADDRREQ {int} > 0
macro-int-constant EDQUOT {int} > 0
+# endif
macro-int-constant EEXIST {int} > 0
macro-int-constant EFAULT {int} > 0
macro-int-constant EFBIG {int} > 0
+# if !defined POSIX
macro-int-constant EHOSTUNREACH {int} > 0
macro-int-constant EIDRM {int} > 0
+# endif
macro-int-constant EINPROGRESS {int} > 0
macro-int-constant EINTR {int} > 0
macro-int-constant EINVAL {int} > 0
macro-int-constant EIO {int} > 0
+# if !defined POSIX
macro-int-constant EISCONN {int} > 0
+# endif
macro-int-constant EISDIR {int} > 0
+# if !defined POSIX
macro-int-constant ELOOP {int} > 0
+# endif
macro-int-constant EMFILE {int} > 0
macro-int-constant EMLINK {int} > 0
macro-int-constant EMSGSIZE {int} > 0
+# if !defined POSIX
macro-int-constant EMULTIHOP {int} > 0
+# endif
macro-int-constant ENAMETOOLONG {int} > 0
+# if !defined POSIX
macro-int-constant ENETDOWN {int} > 0
macro-int-constant ENETUNREACH {int} > 0
+# endif
macro-int-constant ENFILE {int} > 0
+# if !defined POSIX
macro-int-constant ENOBUFS {int} > 0
macro-int-constant ENODATA {int} > 0
+# endif
macro-int-constant ENODEV {int} > 0
macro-int-constant ENOENT {int} > 0
macro-int-constant ENOEXEC {int} > 0
macro-int-constant ENOLCK {int} > 0
+# if !defined POSIX
macro-int-constant ENOLINK {int} > 0
+# endif
macro-int-constant ENOMEM {int} > 0
+# if !defined POSIX
macro-int-constant ENOMSG {int} > 0
macro-int-constant ENOPROTOOPT {int} > 0
+# endif
macro-int-constant ENOSPC {int} > 0
+# if !defined POSIX
macro-int-constant ENOSR {int} > 0
macro-int-constant ENOSTR {int} > 0
+# endif
macro-int-constant ENOSYS {int} > 0
+# if !defined POSIX
macro-int-constant ENOTCONN {int} > 0
+# endif
macro-int-constant ENOTDIR {int} > 0
macro-int-constant ENOTEMPTY {int} > 0
+# if !defined POSIX
macro-int-constant ENOTSOCK {int} > 0
+# endif
macro-int-constant ENOTSUP {int} > 0
macro-int-constant ENOTTY {int} > 0
macro-int-constant ENXIO {int} > 0
+# if !defined POSIX
macro-int-constant EOPNOTSUPP {int} > 0
macro-int-constant EOVERFLOW {int} > 0
+# endif
macro-int-constant EPERM {int} > 0
macro-int-constant EPIPE {int} > 0
+# if !defined POSIX
macro-int-constant EPROTO {int} > 0
macro-int-constant EPROTONOSUPPORT {int} > 0
macro-int-constant EPROTOTYPE {int} > 0
+# endif
macro-int-constant EROFS {int} > 0
macro-int-constant ESPIPE {int} > 0
macro-int-constant ESRCH {int} > 0
+# if !defined POSIX
macro-int-constant ESTALE {int} > 0
macro-int-constant ETIME {int} > 0
+# endif
macro-int-constant ETIMEDOUT {int} > 0
+# if !defined POSIX
macro-int-constant ETXTBSY {int} > 0
macro-int-constant EWOULDBLOCK {int} > 0
+# endif
macro-int-constant EXDEV {int} > 0
# if defined XOPEN2K8 || defined POSIX2008
@@ -89,7 +127,6 @@ macro-int-constant ENOTRECOVERABLE {int} > 0
macro-int-constant EOWNERDEAD {int} > 0
# endif
-allow E*
allow *_t
#endif
diff --git a/conform/data/fcntl.h-data b/conform/data/fcntl.h-data
index 6fda308..efe134e 100644
--- a/conform/data/fcntl.h-data
+++ b/conform/data/fcntl.h-data
@@ -18,7 +18,11 @@ constant F_RDLCK
constant F_UNLCK
constant F_WRLCK
-#if !defined POSIX
+#if defined POSIX
+allow SEEK_SET
+allow SEEK_CUR
+allow SEEK_END
+#else
constant SEEK_SET
constant SEEK_CUR
constant SEEK_END
@@ -89,9 +93,13 @@ element {struct flock} off_t l_start
element {struct flock} off_t l_len
element {struct flock} pid_t l_pid
+#if !defined POSIX
+# if !defined UNIX98
type mode_t
+# endif
type off_t
type pid_t
+#endif
function int creat (const char*, mode_t)
function int fcntl (int, int, ...)
@@ -121,16 +129,14 @@ constant AT_REMOVEDIR
function int openat(int, const char*, int, ...)
#endif
+#if !defined POSIX
allow-header sys/stat.h
allow-header unistd.h
+#endif
allow l_*
allow F_*
allow O_*
allow S_*
allow *_t
-
-allow timespec
-allow tv_nsec
-allow tv_sec
#endif
diff --git a/conform/data/locale.h-data b/conform/data/locale.h-data
index adcd25f..003e6ca 100644
--- a/conform/data/locale.h-data
+++ b/conform/data/locale.h-data
@@ -31,7 +31,7 @@ macro-constant NULL == 0
macro-int-constant LC_ALL
macro-int-constant LC_COLLATE
macro-int-constant LC_CTYPE
-#if !defined ISO && !defined ISO99 && !defined ISO11
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX
macro-int-constant LC_MESSAGES
#endif
macro-int-constant LC_MONETARY
diff --git a/conform/data/mqueue.h-data b/conform/data/mqueue.h-data
index d6313b3..2ff2748 100644
--- a/conform/data/mqueue.h-data
+++ b/conform/data/mqueue.h-data
@@ -3,6 +3,11 @@
type mqd_t
type {struct sigevent}
+element {struct sigevent} int sigev_notify
+element {struct sigevent} int sigev_signo
+element {struct sigevent} {union sigval} sigev_value
+element {struct sigevent} {void(*} sigev_notify_function )(union sigval)
+element {struct sigevent} {pthread_attr_t*} sigev_notify_attributes
type {struct mq_attr}
element {struct mq_attr} long mq_flags
@@ -28,7 +33,6 @@ type pthread_attr_t
type size_t
type ssize_t
type {struct timespec}
-type {struct sigevent}
#endif
allow-header fcntl.h
@@ -36,5 +40,7 @@ allow-header signal.h
allow-header sys/types.h
allow-header time.h
+allow mq_*
+allow MQ_*
allow *_t
#endif
--
Joseph S. Myers
joseph@codesourcery.com