Date: Tue, 12 Sep 2017 22:13:57 +0000 From: bugzilla-noreply@freebsd.org To: office@FreeBSD.org Subject: [Bug 218788] devel/icu: Update to 59.1 Message-ID: <bug-218788-25061-iYdNq3CPgq@https.bugs.freebsd.org/bugzilla/> In-Reply-To: <bug-218788-25061@https.bugs.freebsd.org/bugzilla/> References: <bug-218788-25061@https.bugs.freebsd.org/bugzilla/>
next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D218788 Jan Beich <jbeich@FreeBSD.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jbeich@FreeBSD.org --- Comment #31 from Jan Beich <jbeich@FreeBSD.org> --- Clang still works fine in C++98 mode because libc++ has surrogates for some C++11 features (e.g., nullptr). $ echo 'int main() {}' | clang++ -std=3Dgnu++98 -xc++ - -o /dev/null -isystem/usr/local/include/ -include unicode/unistr.h GCC fails to build ICU headers in C++98 mode. Not that anyone should care a= fter ports r449590 which upgraded default to C++14. However, the backout maybe wasn't necessary per bug 215770. $ echo 'int main() {}' | g++7 -std=3Dgnu++98 -xc++ - -o /dev/null -isystem/usr/local/include/ -include unicode/unistr.h In file included from /usr/local/include/unicode/unistr.h:33:0, from <command-line>:31: /usr/local/include/unicode/char16ptr.h:69:37: error: expected ')' before 'p' inline Char16Ptr(std::nullptr_t p); ^ /usr/local/include/unicode/char16ptr.h:117:21: error: expected constructor, destructor, or type conversion before '(' token Char16Ptr::Char16Ptr(std::nullptr_t p) : p(p) {} ^ /usr/local/include/unicode/char16ptr.h:176:38: error: 'nullptr_t' in namesp= ace 'std' does not name a type inline ConstChar16Ptr(const std::nullptr_t p); ^~~~~~~~~ /usr/local/include/unicode/char16ptr.h:225:43: error: 'nullptr_t' in namesp= ace 'std' does not name a type ConstChar16Ptr::ConstChar16Ptr(const std::nullptr_t p) : p(p) {} ^~~~~~~~~ /usr/local/include/unicode/char16ptr.h: In constructor 'icu::ConstChar16Ptr::ConstChar16Ptr(int)': /usr/local/include/unicode/char16ptr.h:225:61: error: invalid conversion fr= om 'int' to 'const char16_t* {aka const short unsigned int*}' [-fpermissive] ConstChar16Ptr::ConstChar16Ptr(const std::nullptr_t p) : p(p) {} ^ In file included from <command-line>:31:0: /usr/local/include/unicode/unistr.h: At global scope: /usr/local/include/unicode/unistr.h:3062:63: error: 'nullptr_t' in namespace 'std' does not name a type UNISTR_FROM_STRING_EXPLICIT inline UnicodeString(const std::nullptr_t te= xt); ^~~~~~~~~ /usr/local/include/unicode/unistr.h:3062:38: error: 'icu::UnicodeString::UnicodeString(int)' cannot be overloaded UNISTR_FROM_STRING_EXPLICIT inline UnicodeString(const std::nullptr_t te= xt); ^~~~~~~~~~~~~ /usr/local/include/unicode/unistr.h:2995:29: error: with 'icu::UnicodeString::UnicodeString(UChar32)' UNISTR_FROM_CHAR_EXPLICIT UnicodeString(UChar32 ch); ^~~~~~~~~~~~~ /usr/local/include/unicode/unistr.h:3118:35: error: 'nullptr_t' in namespace 'std' does not name a type inline UnicodeString(const std::nullptr_t text, int32_t length); ^~~~~~~~~ /usr/local/include/unicode/unistr.h:3213:39: error: expected ')' before 'buffer' inline UnicodeString(std::nullptr_t buffer, int32_t buffLength, int32_t buffCapacity); ^~~~~~ /usr/local/include/unicode/unistr.h:3927:48: error: 'nullptr_t' in namespace 'std' does not name a type inline UnicodeString::UnicodeString(const std::nullptr_t /*text*/) { ^~~~~~~~~ /usr/local/include/unicode/unistr.h:3931:48: error: 'nullptr_t' in namespace 'std' does not name a type inline UnicodeString::UnicodeString(const std::nullptr_t /*text*/, int32_t /*length*/) { ^~~~~~~~~ /usr/local/include/unicode/unistr.h:3935:42: error: 'int icu::UnicodeString::UnicodeString' is not a static data member of 'class icu::UnicodeString' inline UnicodeString::UnicodeString(std::nullptr_t /*buffer*/, int32_t /*buffLength*/, int32_t /*buffCapacity*/) { ^~~~~~~~~ /usr/local/include/unicode/unistr.h:3935:42: error: 'nullptr_t' is not a me= mber of 'std' /usr/local/include/unicode/unistr.h:3935:86: error: expected primary-expres= sion before ',' token inline UnicodeString::UnicodeString(std::nullptr_t /*buffer*/, int32_t /*buffLength*/, int32_t /*buffCapacity*/) { =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20 ^ /usr/local/include/unicode/unistr.h:3935:112: error: expected primary-expression before ')' token inline UnicodeString::UnicodeString(std::nullptr_t /*buffer*/, int32_t /*buffLength*/, int32_t /*buffCapacity*/) { =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20 ^ /usr/local/include/unicode/unistr.h:3935:112: error: expression list treate= d as compound expression in initializer [-fpermissive] /usr/local/include/unicode/unistr.h: In member function 'const char16_t* icu::UnicodeString::getBuffer() const': /usr/local/include/unicode/unistr.h:3988:12: error: 'nullptr' was not decla= red in this scope return nullptr; ^~~~~~~ --=20 You are receiving this mail because: You are on the CC list for the bug.=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-218788-25061-iYdNq3CPgq>