summaryrefslogtreecommitdiff
path: root/deps/icu-small/source/common/uposixdefs.h
diff options
context:
space:
mode:
Diffstat (limited to 'deps/icu-small/source/common/uposixdefs.h')
-rw-r--r--deps/icu-small/source/common/uposixdefs.h24
1 files changed, 10 insertions, 14 deletions
diff --git a/deps/icu-small/source/common/uposixdefs.h b/deps/icu-small/source/common/uposixdefs.h
index 495deea49e..45ca1233ac 100644
--- a/deps/icu-small/source/common/uposixdefs.h
+++ b/deps/icu-small/source/common/uposixdefs.h
@@ -1,4 +1,4 @@
-// Copyright (C) 2016 and later: Unicode, Inc. and others.
+// © 2016 and later: Unicode, Inc. and others.
// License & terms of use: http://www.unicode.org/copyright.html
/*
*******************************************************************************
@@ -6,7 +6,7 @@
* Corporation and others. All Rights Reserved.
*******************************************************************************
* file name: uposixdefs.h
-* encoding: US-ASCII
+* encoding: UTF-8
* tab size: 8 (not used)
* indentation:4
*
@@ -54,22 +54,18 @@
*
* z/OS needs this definition for timeval and to get usleep.
*/
-#if !defined(_XOPEN_SOURCE_EXTENDED)
+#if !defined(_XOPEN_SOURCE_EXTENDED) && defined(__TOS_MVS__)
# define _XOPEN_SOURCE_EXTENDED 1
#endif
-/*
- * There is an issue with turning on _XOPEN_SOURCE_EXTENDED on certain platforms.
- * A compatibility issue exists between turning on _XOPEN_SOURCE_EXTENDED and using
- * standard C++ string class. As a result, standard C++ string class needs to be
- * turned off for the follwing platforms:
- * -AIX/VACPP
- * -Solaris/GCC
+/**
+ * Solaris says:
+ * "...it is invalid to compile an XPG6 or a POSIX.1-2001 application with anything other
+ * than a c99 or later compiler."
+ * Apparently C++11 is not "or later". Work around this.
*/
-#if (U_PLATFORM == U_PF_AIX && !defined(__GNUC__)) || (U_PLATFORM == U_PF_SOLARIS && defined(__GNUC__))
-# if _XOPEN_SOURCE_EXTENDED && !defined(U_HAVE_STD_STRING)
-# define U_HAVE_STD_STRING 0
-# endif
+#if defined(__cplusplus) && (defined(sun) || defined(__sun)) && !defined (_STDC_C99)
+# define _STDC_C99
#endif
#endif /* __UPOSIXDEFS_H__ */