FreeBSD Bugzilla – Attachment 187659 Details for
Bug 223373
devel/icu: update to 60.1
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
v0
icu60.diff (text/plain), 14.46 KB, created by
Jan Beich
on 2017-11-01 20:27:50 UTC
(
hide
)
Description:
v0
Filename:
MIME Type:
Creator:
Jan Beich
Created:
2017-11-01 20:27:50 UTC
Size:
14.46 KB
patch
obsolete
>From 37cef59224ce872a1c144ce57af41f5275f6ba9c Mon Sep 17 00:00:00 2001 >From: jbeich <jbeich@35697150-7ecd-e111-bb59-0022644237b5> >Date: Mon, 25 Sep 2017 00:02:36 +0000 >Subject: [PATCH] devel/icu: update to 60.1 > >Changes: http://site.icu-project.org/download/60 >ABI: https://abi-laboratory.pro/tracker/timeline/icu4c/ >PR: 223373 >Exp-run by: antoine >--- > devel/icu/Makefile | 2 +- > devel/icu/distinfo | 6 +- > devel/icu/files/patch-common_unicode_uvernum.h | 8 - > devel/icu/files/patch-revert-r40077 | 297 +++++++++++++++++++++++++ > devel/icu/pkg-plist | 3 + > 5 files changed, 304 insertions(+), 12 deletions(-) > delete mode 100644 devel/icu/files/patch-common_unicode_uvernum.h > create mode 100644 devel/icu/files/patch-revert-r40077 > >diff --git a/devel/icu/Makefile b/devel/icu/Makefile >index 8a54a4a02090..9ece5003897d 100644 >--- a/devel/icu/Makefile >+++ b/devel/icu/Makefile >@@ -2,7 +2,7 @@ > # $FreeBSD$ > > PORTNAME= icu >-DISTVERSION= 59_1 >+DISTVERSION= 60_1 > PORTREVISION?= 0 # keep for icu-lx > PORTEPOCH?= 1 > CATEGORIES?= devel >diff --git a/devel/icu/distinfo b/devel/icu/distinfo >index 28ae3f263b83..addd07e70fda 100644 >--- a/devel/icu/distinfo >+++ b/devel/icu/distinfo >@@ -1,3 +1,3 @@ >-TIMESTAMP = 1491550830 >-SHA256 (icu4c-59_1-src.tgz) = 7132fdaf9379429d004005217f10e00b7d2319d0fea22bdfddef8991c45b75fe >-SIZE (icu4c-59_1-src.tgz) = 22706578 >+TIMESTAMP = 1509477637 >+SHA256 (icu4c-60_1-src.tgz) = f8f5a6c8fbf32c015a467972bdb1477dc5f5d5dfea908b6ed218715eeb5ee225 >+SIZE (icu4c-60_1-src.tgz) = 23296064 >diff --git a/devel/icu/files/patch-common_unicode_uvernum.h b/devel/icu/files/patch-common_unicode_uvernum.h >deleted file mode 100644 >index 21af34231d25..000000000000 >--- a/devel/icu/files/patch-common_unicode_uvernum.h >+++ /dev/null >@@ -1,8 +0,0 @@ >---- common/unicode/uvernum.h.orig 2017-03-21 01:03:49 UTC >-+++ common/unicode/uvernum.h >-@@ -125,4 +125,4 @@ >- * This value will change in the subsequent releases of ICU >- * @stable ICU 2.6 >- */ >--#if U_PLATFORM_HAS_WINUWP_API == 0 >-+#ifndef U_PLATFORM_HAS_WINUWP_API >diff --git a/devel/icu/files/patch-revert-r40077 b/devel/icu/files/patch-revert-r40077 >new file mode 100644 >index 000000000000..a647f3920140 >--- /dev/null >+++ b/devel/icu/files/patch-revert-r40077 >@@ -0,0 +1,297 @@ >+Revert https://ssl.icu-project.org/trac/changeset/40077 >+until https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=222433 >+ >+--- common/cmemory.h.orig 2017-10-06 01:37:59 UTC >++++ common/cmemory.h >+@@ -162,6 +162,7 @@ class LocalMemory : public LocalPointerBase<T> { (publ >+ * @param p simple pointer to an array of T items that is adopted >+ */ >+ explicit LocalMemory(T *p=NULL) : LocalPointerBase<T>(p) {} >++#if U_HAVE_RVALUE_REFERENCES >+ /** >+ * Move constructor, leaves src with isNull(). >+ * @param src source smart pointer >+@@ -169,12 +170,14 @@ class LocalMemory : public LocalPointerBase<T> { (publ >+ LocalMemory(LocalMemory<T> &&src) U_NOEXCEPT : LocalPointerBase<T>(src.ptr) { >+ src.ptr=NULL; >+ } >++#endif >+ /** >+ * Destructor deletes the memory it owns. >+ */ >+ ~LocalMemory() { >+ uprv_free(LocalPointerBase<T>::ptr); >+ } >++#if U_HAVE_RVALUE_REFERENCES >+ /** >+ * Move assignment operator, leaves src with isNull(). >+ * The behavior is undefined if *this and src are the same object. >+@@ -184,6 +187,7 @@ class LocalMemory : public LocalPointerBase<T> { (publ >+ LocalMemory<T> &operator=(LocalMemory<T> &&src) U_NOEXCEPT { >+ return moveFrom(src); >+ } >++#endif >+ /** >+ * Move assignment, leaves src with isNull(). >+ * The behavior is undefined if *this and src are the same object. >+--- common/unicode/localpointer.h.orig 2017-04-26 20:23:44 UTC >++++ common/unicode/localpointer.h >+@@ -213,6 +213,7 @@ class LocalPointer : public LocalPointerBase<T> { (pub >+ errorCode=U_MEMORY_ALLOCATION_ERROR; >+ } >+ } >++#if U_HAVE_RVALUE_REFERENCES >+ /** >+ * Move constructor, leaves src with isNull(). >+ * @param src source smart pointer >+@@ -221,6 +222,7 @@ class LocalPointer : public LocalPointerBase<T> { (pub >+ LocalPointer(LocalPointer<T> &&src) U_NOEXCEPT : LocalPointerBase<T>(src.ptr) { >+ src.ptr=NULL; >+ } >++#endif >+ /** >+ * Destructor deletes the object it owns. >+ * @stable ICU 4.4 >+@@ -228,6 +230,7 @@ class LocalPointer : public LocalPointerBase<T> { (pub >+ ~LocalPointer() { >+ delete LocalPointerBase<T>::ptr; >+ } >++#if U_HAVE_RVALUE_REFERENCES >+ /** >+ * Move assignment operator, leaves src with isNull(). >+ * The behavior is undefined if *this and src are the same object. >+@@ -238,6 +241,7 @@ class LocalPointer : public LocalPointerBase<T> { (pub >+ LocalPointer<T> &operator=(LocalPointer<T> &&src) U_NOEXCEPT { >+ return moveFrom(src); >+ } >++#endif >+ // do not use #ifndef U_HIDE_DRAFT_API for moveFrom, needed by non-draft API >+ /** >+ * Move assignment, leaves src with isNull(). >+@@ -358,6 +362,7 @@ class LocalArray : public LocalPointerBase<T> { (publi >+ errorCode=U_MEMORY_ALLOCATION_ERROR; >+ } >+ } >++#if U_HAVE_RVALUE_REFERENCES >+ /** >+ * Move constructor, leaves src with isNull(). >+ * @param src source smart pointer >+@@ -366,6 +371,7 @@ class LocalArray : public LocalPointerBase<T> { (publi >+ LocalArray(LocalArray<T> &&src) U_NOEXCEPT : LocalPointerBase<T>(src.ptr) { >+ src.ptr=NULL; >+ } >++#endif >+ /** >+ * Destructor deletes the array it owns. >+ * @stable ICU 4.4 >+@@ -373,6 +379,7 @@ class LocalArray : public LocalPointerBase<T> { (publi >+ ~LocalArray() { >+ delete[] LocalPointerBase<T>::ptr; >+ } >++#if U_HAVE_RVALUE_REFERENCES >+ /** >+ * Move assignment operator, leaves src with isNull(). >+ * The behavior is undefined if *this and src are the same object. >+@@ -383,6 +390,7 @@ class LocalArray : public LocalPointerBase<T> { (publi >+ LocalArray<T> &operator=(LocalArray<T> &&src) U_NOEXCEPT { >+ return moveFrom(src); >+ } >++#endif >+ // do not use #ifndef U_HIDE_DRAFT_API for moveFrom, needed by non-draft API >+ /** >+ * Move assignment, leaves src with isNull(). >+@@ -484,6 +492,7 @@ class LocalArray : public LocalPointerBase<T> { (publi >+ * @see LocalPointer >+ * @stable ICU 4.4 >+ */ >++#if U_HAVE_RVALUE_REFERENCES >+ #define U_DEFINE_LOCAL_OPEN_POINTER(LocalPointerClassName, Type, closeFunction) \ >+ class LocalPointerClassName : public LocalPointerBase<Type> { \ >+ public: \ >+@@ -517,6 +526,34 @@ class LocalArray : public LocalPointerBase<T> { (publi >+ ptr=p; \ >+ } \ >+ } >++#else >++#define U_DEFINE_LOCAL_OPEN_POINTER(LocalPointerClassName, Type, closeFunction) \ >++ class LocalPointerClassName : public LocalPointerBase<Type> { \ >++ public: \ >++ using LocalPointerBase<Type>::operator*; \ >++ using LocalPointerBase<Type>::operator->; \ >++ explicit LocalPointerClassName(Type *p=NULL) : LocalPointerBase<Type>(p) {} \ >++ ~LocalPointerClassName() { closeFunction(ptr); } \ >++ LocalPointerClassName &moveFrom(LocalPointerClassName &src) U_NOEXCEPT { \ >++ if (ptr != NULL) { closeFunction(ptr); } \ >++ LocalPointerBase<Type>::ptr=src.ptr; \ >++ src.ptr=NULL; \ >++ return *this; \ >++ } \ >++ void swap(LocalPointerClassName &other) U_NOEXCEPT { \ >++ Type *temp=LocalPointerBase<Type>::ptr; \ >++ LocalPointerBase<Type>::ptr=other.ptr; \ >++ other.ptr=temp; \ >++ } \ >++ friend inline void swap(LocalPointerClassName &p1, LocalPointerClassName &p2) U_NOEXCEPT { \ >++ p1.swap(p2); \ >++ } \ >++ void adoptInstead(Type *p) { \ >++ if (ptr != NULL) { closeFunction(ptr); } \ >++ ptr=p; \ >++ } \ >++ } >++#endif >+ >+ U_NAMESPACE_END >+ >+--- common/unicode/platform.h.orig 2017-10-05 00:47:38 UTC >++++ common/unicode/platform.h >+@@ -499,6 +499,22 @@ namespace std { >+ #endif >+ >+ /** >++ * \def U_HAVE_RVALUE_REFERENCES >++ * Set to 1 if the compiler supports rvalue references. >++ * C++11 feature, necessary for move constructor & move assignment. >++ * @internal >++ */ >++#ifdef U_HAVE_RVALUE_REFERENCES >++ /* Use the predefined value. */ >++#elif U_CPLUSPLUS_VERSION >= 11 || __has_feature(cxx_rvalue_references) \ >++ || defined(__GXX_EXPERIMENTAL_CXX0X__) \ >++ || (defined(_MSC_VER) && _MSC_VER >= 1600) /* Visual Studio 2010 */ >++# define U_HAVE_RVALUE_REFERENCES 1 >++#else >++# define U_HAVE_RVALUE_REFERENCES 0 >++#endif >++ >++/** >+ * \def U_NOEXCEPT >+ * "noexcept" if supported, otherwise empty. >+ * Some code, especially STL containers, uses move semantics of objects only >+--- common/unicode/unistr.h.orig 2017-09-14 19:20:49 UTC >++++ common/unicode/unistr.h >+@@ -1891,6 +1891,7 @@ class U_COMMON_API UnicodeString : public Replaceable >+ */ >+ UnicodeString &fastCopyFrom(const UnicodeString &src); >+ >++#if U_HAVE_RVALUE_REFERENCES >+ /** >+ * Move assignment operator, might leave src in bogus state. >+ * This string will have the same contents and state that the source string had. >+@@ -1902,7 +1903,7 @@ class U_COMMON_API UnicodeString : public Replaceable >+ UnicodeString &operator=(UnicodeString &&src) U_NOEXCEPT { >+ return moveFrom(src); >+ } >+- >++#endif >+ // do not use #ifndef U_HIDE_DRAFT_API for moveFrom, needed by non-draft API >+ /** >+ * Move assignment, might leave src in bogus state. >+@@ -3349,6 +3350,7 @@ class U_COMMON_API UnicodeString : public Replaceable >+ */ >+ UnicodeString(const UnicodeString& that); >+ >++#if U_HAVE_RVALUE_REFERENCES >+ /** >+ * Move constructor, might leave src in bogus state. >+ * This string will have the same contents and state that the source string had. >+@@ -3356,6 +3358,7 @@ class U_COMMON_API UnicodeString : public Replaceable >+ * @stable ICU 56 >+ */ >+ UnicodeString(UnicodeString &&src) U_NOEXCEPT; >++#endif >+ >+ /** >+ * 'Substring' constructor from tail of source string. >+--- common/unistr.cpp.orig 2017-04-26 20:23:44 UTC >++++ common/unistr.cpp >+@@ -308,10 +308,12 @@ UnicodeString::UnicodeString(const UnicodeString& that >+ copyFrom(that); >+ } >+ >++#if U_HAVE_RVALUE_REFERENCES >+ UnicodeString::UnicodeString(UnicodeString &&src) U_NOEXCEPT { >+ fUnion.fFields.fLengthAndFlags = kShortString; >+ moveFrom(src); >+ } >++#endif >+ >+ UnicodeString::UnicodeString(const UnicodeString& that, >+ int32_t srcStart) { >+--- test/intltest/itutil.cpp.orig 2017-04-26 20:23:44 UTC >++++ test/intltest/itutil.cpp >+@@ -375,6 +375,7 @@ void LocalPointerTest::TestLocalPointerMoveSwap() { >+ if(s3.getAlias() != p1 || s1.isValid()) { >+ errln("LocalPointer.moveFrom() did not move"); >+ } >++#if U_HAVE_RVALUE_REFERENCES >+ infoln("TestLocalPointerMoveSwap() with rvalue references"); >+ s1 = static_cast<LocalPointer<UnicodeString> &&>(s3); >+ if(s1.getAlias() != p1 || s3.isValid()) { >+@@ -384,6 +385,9 @@ void LocalPointerTest::TestLocalPointerMoveSwap() { >+ if(s4.getAlias() != p2 || s2.isValid()) { >+ errln("LocalPointer move constructor did not move"); >+ } >++#else >++ infoln("TestLocalPointerMoveSwap() without rvalue references"); >++#endif >+ >+ // Move self assignment leaves the object valid but in an undefined state. >+ // Do it to make sure there is no crash, >+@@ -468,6 +472,7 @@ void LocalPointerTest::TestLocalArrayMoveSwap() { >+ if(a3.getAlias() != p1 || a1.isValid()) { >+ errln("LocalArray.moveFrom() did not move"); >+ } >++#if U_HAVE_RVALUE_REFERENCES >+ infoln("TestLocalArrayMoveSwap() with rvalue references"); >+ a1 = static_cast<LocalArray<UnicodeString> &&>(a3); >+ if(a1.getAlias() != p1 || a3.isValid()) { >+@@ -477,6 +482,9 @@ void LocalPointerTest::TestLocalArrayMoveSwap() { >+ if(a4.getAlias() != p2 || a2.isValid()) { >+ errln("LocalArray move constructor did not move"); >+ } >++#else >++ infoln("TestLocalArrayMoveSwap() without rvalue references"); >++#endif >+ >+ // Move self assignment leaves the object valid but in an undefined state. >+ // Do it to make sure there is no crash, >+@@ -636,6 +644,7 @@ void LocalPointerTest::TestLocalXyzPointerMoveSwap() { >+ if(f3.getAlias() != p1 || f1.isValid()) { >+ errln("LocalUNormalizer2Pointer.moveFrom() did not move"); >+ } >++#if U_HAVE_RVALUE_REFERENCES >+ infoln("TestLocalXyzPointerMoveSwap() with rvalue references"); >+ f1 = static_cast<LocalUNormalizer2Pointer &&>(f3); >+ if(f1.getAlias() != p1 || f3.isValid()) { >+@@ -645,6 +654,9 @@ void LocalPointerTest::TestLocalXyzPointerMoveSwap() { >+ if(f4.getAlias() != p2 || f2.isValid()) { >+ errln("LocalUNormalizer2Pointer move constructor did not move"); >+ } >++#else >++ infoln("TestLocalXyzPointerMoveSwap() without rvalue references"); >++#endif >+ // Move self assignment leaves the object valid but in an undefined state. >+ // Do it to make sure there is no crash, >+ // but do not check for any particular resulting value. >+--- test/intltest/ustrtest.cpp.orig 2017-09-21 23:45:08 UTC >++++ test/intltest/ustrtest.cpp >+@@ -2160,6 +2160,7 @@ UnicodeStringTest::TestMoveSwap() { >+ if(s6.getBuffer() != abc || s6.length() != 3) { >+ errln("UnicodeString.moveFrom(alias) did not move"); >+ } >++#if U_HAVE_RVALUE_REFERENCES >+ infoln("TestMoveSwap() with rvalue references"); >+ s1 = static_cast<UnicodeString &&>(s6); >+ if(s1.getBuffer() != abc || s1.length() != 3) { >+@@ -2169,6 +2170,10 @@ UnicodeStringTest::TestMoveSwap() { >+ if(s7.getBuffer() != p || s7.length() != 100 || !s4.isBogus()) { >+ errln("UnicodeString move constructor did not move"); >+ } >++#else >++ infoln("TestMoveSwap() without rvalue references"); >++ UnicodeString s7; >++#endif >+ >+ // Move self assignment leaves the object valid but in an undefined state. >+ // Do it to make sure there is no crash, >diff --git a/devel/icu/pkg-plist b/devel/icu/pkg-plist >index 10ff8f4674ea..c2f27d732790 100644 >--- a/devel/icu/pkg-plist >+++ b/devel/icu/pkg-plist >@@ -90,6 +90,8 @@ include/unicode/messagepattern.h > include/unicode/msgfmt.h > include/unicode/normalizer2.h > include/unicode/normlzr.h >+include/unicode/nounit.h >+include/unicode/numberformatter.h > include/unicode/numfmt.h > include/unicode/numsys.h > include/unicode/parseerr.h >@@ -117,6 +119,7 @@ include/unicode/smpdtfmt.h > include/unicode/sortkey.h > include/unicode/std_string.h > include/unicode/strenum.h >+include/unicode/stringoptions.h > include/unicode/stringpiece.h > include/unicode/stringtriebuilder.h > include/unicode/stsearch.h
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 223373
: 187659