Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYaakov Selkowitz <yselkowi@redhat.com>2017-11-28 07:07:13 +0300
committerYaakov Selkowitz <yselkowi@redhat.com>2017-11-28 13:11:33 +0300
commit032aa2dba5a5bf90c198d930c8d309b5de57cb47 (patch)
treec518f7e9c1d115acfcd0c09bc64f35ac09f877ee
parent76f06705be30663cf823170fe66c9560c9d24566 (diff)
Feature test macros overhaul: Cygwin limits.h, part 2
http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/limits.h.html https://sourceware.org/ml/newlib/2017/msg01133.html Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
-rw-r--r--winsup/cygwin/include/limits.h30
1 files changed, 28 insertions, 2 deletions
diff --git a/winsup/cygwin/include/limits.h b/winsup/cygwin/include/limits.h
index cf3c8d04d..fe1b8b493 100644
--- a/winsup/cygwin/include/limits.h
+++ b/winsup/cygwin/include/limits.h
@@ -24,6 +24,7 @@ details. */
#undef CHAR_BIT
#define CHAR_BIT __CHAR_BIT__
+#if __XSI_VISIBLE || __POSIX_VISIBLE >= 200809
/* Number of bits in a `long'. */
#undef LONG_BIT
#define LONG_BIT (__SIZEOF_LONG__ * __CHAR_BIT__)
@@ -31,6 +32,7 @@ details. */
/* Number of bits in a `int'. */
#undef WORD_BIT
#define WORD_BIT (__SIZEOF_INT__ * __CHAR_BIT__)
+#endif /* __XSI_VISIBLE || __POSIX_VISIBLE >= 200809 */
/* Maximum length of a multibyte character. */
#ifndef MB_LEN_MAX
@@ -118,6 +120,7 @@ details. */
#define ULONG_LONG_MAX (LONG_LONG_MAX * 2ULL + 1)
#endif
+#if __ISO_C_VISIBLE >= 1999
/* Minimum and maximum values a `signed long long int' can hold. */
#undef LLONG_MIN
#define LLONG_MIN (-LLONG_MAX-1)
@@ -127,6 +130,7 @@ details. */
/* Maximum value an `unsigned long long int' can hold. (Minimum is 0). */
#undef ULLONG_MAX
#define ULLONG_MAX (LLONG_MAX * 2ULL + 1)
+#endif /* __ISO_C_VISIBLE >= 1999 */
/* Maximum size of ssize_t. Sadly, gcc doesn't give us __SSIZE_MAX__
the way it does for __SIZE_MAX__. On the other hand, we happen to
@@ -171,9 +175,11 @@ details. */
#undef ARG_MAX
#define ARG_MAX 32000
+#if __XSI_VISIBLE || __POSIX_VISIBLE >= 200809
/* Maximum number of functions that may be registered with atexit(). */
#undef ATEXIT_MAX
#define ATEXIT_MAX 32
+#endif
/* Maximum number of simultaneous processes per real user ID. */
#undef CHILD_MAX
@@ -187,9 +193,11 @@ details. */
#undef HOST_NAME_MAX
#define HOST_NAME_MAX 255
+#if __XSI_VISIBLE
/* Maximum number of iovcnt in a writev (an arbitrary number) */
#undef IOV_MAX
#define IOV_MAX 1024
+#endif
/* Maximum number of characters in a login name. */
#undef LOGIN_NAME_MAX
@@ -212,9 +220,11 @@ details. */
/* Size in bytes of a page. */
#undef PAGESIZE
-#undef PAGE_SIZE
#define PAGESIZE 65536
+#if __XSI_VISIBLE
+#undef PAGE_SIZE
#define PAGE_SIZE PAGESIZE
+#endif
/* Maximum number of attempts made to destroy a thread's thread-specific
data values on thread exit. */
@@ -381,6 +391,7 @@ details. */
/* Runtime Increasable Values */
+#if __POSIX_VISIBLE >= 2
/* Maximum obase values allowed by the bc utility. */
#undef BC_BASE_MAX
#define BC_BASE_MAX 99
@@ -428,6 +439,7 @@ details. */
using the interval notation \{m,n\} */
#undef RE_DUP_MAX
#define RE_DUP_MAX 255
+#endif /* __POSIX_VISIBLE >= 2 */
/* POSIX values */
@@ -435,6 +447,7 @@ details. */
/* They represent the minimum values that POSIX systems must support.
POSIX-conforming apps must not require larger values. */
+#if __POSIX_VISIBLE
/* Maximum Values */
#define _POSIX_CLOCKRES_MIN 20000000
@@ -478,7 +491,9 @@ details. */
#define _POSIX_TRACE_USER_EVENT_MAX 32
#define _POSIX_TTY_NAME_MAX 9
#define _POSIX_TZNAME_MAX 6
+#endif /* __POSIX_VISIBLE */
+#if __POSIX_VISIBLE >= 2
#define _POSIX2_BC_BASE_MAX 99
#define _POSIX2_BC_DIM_MAX 2048
#define _POSIX2_BC_SCALE_MAX 99
@@ -487,23 +502,34 @@ details. */
#define _POSIX2_EXPR_NEST_MAX 32
#define _POSIX2_LINE_MAX 2048
#define _POSIX2_RE_DUP_MAX 255
+#endif /* __POSIX_VISIBLE >= 2 */
+#if __XSI_VISIBLE
#define _XOPEN_IOV_MAX 16
#define _XOPEN_NAME_MAX 255
#define _XOPEN_PATH_MAX 1024
+#endif
/* Other Invariant Values */
#define NL_ARGMAX 9
+#if __XSI_VISIBLE
#define NL_LANGMAX 14
+#endif
+#if __XSI_VISIBLE || __POSIX_VISIBLE >= 200809
#define NL_MSGMAX 32767
-#define NL_NMAX INT_MAX
#define NL_SETMAX 255
#define NL_TEXTMAX _POSIX2_LINE_MAX
+#endif
+#if __POSIX_VISIBLE < 200809
+#define NL_NMAX INT_MAX
+#endif
+#if __XSI_VISIBLE
/* Default process priority. */
#undef NZERO
#define NZERO 20
+#endif
#endif /* _MACH_MACHLIMITS_H_ */
#endif /* _LIMITS_H___ */