Skip site navigation (1)Skip section navigation (2)
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>