View | Details | Raw Unified | Return to bug 222433 | Differences between
and this patch

Collapse All | Expand All

(-)b/devel/icu/Makefile (-1 / +1 lines)
Lines 3-9 Link Here
3
3
4
PORTNAME=	icu
4
PORTNAME=	icu
5
DISTVERSION=	59_1
5
DISTVERSION=	59_1
6
PORTREVISION?=	0 # keep for icu-lx
6
PORTREVISION?=	1 # keep for icu-lx
7
PORTEPOCH?=	1
7
PORTEPOCH?=	1
8
CATEGORIES?=	devel
8
CATEGORIES?=	devel
9
MASTER_SITES=	http://download.icu-project.org/files/icu4c/${PORTVERSION}/
9
MASTER_SITES=	http://download.icu-project.org/files/icu4c/${PORTVERSION}/
(-)b/devel/icu/files/patch-common_unicode_platform.h (-18 lines)
Lines 11-31 Link Here
11
 #elif defined(__BYTE_ORDER__) && defined(__ORDER_BIG_ENDIAN__)
11
 #elif defined(__BYTE_ORDER__) && defined(__ORDER_BIG_ENDIAN__)
12
     /* gcc */
12
     /* gcc */
13
 #   define U_IS_BIG_ENDIAN (__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__)
13
 #   define U_IS_BIG_ENDIAN (__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__)
14
@@ -498,11 +498,15 @@
15
 #   define U_CPLUSPLUS_VERSION 1
16
 #endif
17
 
18
-#if (U_PLATFORM == U_PF_AIX || U_PLATFORM == U_PF_OS390) && defined(__cplusplus) &&(U_CPLUSPLUS_VERSION < 11)
19
+#if defined(__cplusplus) && (U_CPLUSPLUS_VERSION < 11)
20
 // add in std::nullptr_t
21
 namespace std {
22
+#if (U_PLATFORM == U_PF_AIX || U_PLATFORM == U_PF_OS390)
23
   typedef decltype(nullptr) nullptr_t;
24
-};
25
+#elif defined(__GNUC__) && !defined(__clang__)
26
+  typedef __decltype(__null) nullptr_t;
27
+#endif
28
+}
29
 #endif
30
 
31
 /**
(-)a/devel/icu/files/patch-common_unicode_umachine.h (-11 lines)
Removed Link Here
1
--- common/unicode/umachine.h.orig	2017-03-16 19:01:12 UTC
2
+++ common/unicode/umachine.h
3
@@ -295,7 +295,7 @@ typedef int8_t UBool;
4
  * If 1, then char16_t is a typedef and not a real type (yet)
5
  * @internal
6
  */
7
-#if (U_PLATFORM == U_PF_AIX) && defined(__cplusplus) &&(U_CPLUSPLUS_VERSION < 11)
8
+#if defined(__cplusplus) && (U_CPLUSPLUS_VERSION < 11)
9
 // for AIX, uchar.h needs to be included
10
 # include <uchar.h>
11
 # define U_CHAR16_IS_TYPEDEF 1
(-)a/devel/icu/files/patch-common_unicode_unistr.h (-33 lines)
Removed Link Here
1
--- common/unicode/unistr.h.orig	2017-03-29 04:44:37 UTC
2
+++ common/unicode/unistr.h
3
@@ -117,12 +117,20 @@ class UnicodeStringAppendable;  // unicode/appendable.
4
  * The string parameter must be a C string literal.
5
  * The length of the string, not including the terminating
6
  * <code>NUL</code>, must be specified as a constant.
7
+ * The U_STRING_DECL macro should be invoked exactly once for one
8
+ * such string variable before it is used.
9
  * @stable ICU 2.0
10
  */
11
 #if !U_CHAR16_IS_TYPEDEF
12
 # define UNICODE_STRING(cs, _length) icu::UnicodeString(TRUE, u ## cs, _length)
13
+#elif defined(U_DECLARE_UTF16)
14
+# define UNICODE_STRING(cs, _length) icu::UnicodeString(TRUE, (const char16_t *)U_DECLARE_UTF16(cs), _length)
15
+#elif U_SIZEOF_WCHAR_T==U_SIZEOF_UCHAR && (U_CHARSET_FAMILY==U_ASCII_FAMILY || (U_SIZEOF_UCHAR == 2 && defined(U_WCHAR_IS_UTF16)))
16
+# define UNICODE_STRING(cs, _length) icu::UnicodeString(TRUE, (const char16_t *)L ## cs, _length)
17
+#elif U_SIZEOF_UCHAR==1 && U_CHARSET_FAMILY==U_ASCII_FAMILY
18
+# define UNICODE_STRING(cs, _length) icu::UnicodeString(TRUE, (const char16_t *)cs, _length)
19
 #else
20
-# define UNICODE_STRING(cs, _length) icu::UnicodeString(TRUE, (const char16_t*)u ## cs, _length)
21
+# define UNICODE_STRING(cs, _length) icu::UnicodeString(cs, _length, US_INV)
22
 #endif
23
 
24
 /**
25
@@ -3985,7 +3993,7 @@ UnicodeString::isBufferWritable() const
26
 inline const char16_t *
27
 UnicodeString::getBuffer() const {
28
   if(fUnion.fFields.fLengthAndFlags&(kIsBogus|kOpenGetBuffer)) {
29
-    return nullptr;
30
+    return NULL;
31
   } else if(fUnion.fFields.fLengthAndFlags&kUsingStackBuffer) {
32
     return fUnion.fStackFields.fBuffer;
33
   } else {

Return to bug 222433