[Bug 218788] devel/icu: Update to 59.1
bugzilla-noreply at freebsd.org
bugzilla-noreply at freebsd.org
Tue Sep 12 22:13:57 UTC 2017
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=218788
Jan Beich <jbeich at FreeBSD.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |jbeich at FreeBSD.org
--- Comment #31 from Jan Beich <jbeich at 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=gnu++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 after
ports r449590 which upgraded default to C++14. However, the backout maybe
wasn't necessary per bug 215770.
$ echo 'int main() {}' | g++7 -std=gnu++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 namespace
'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 namespace
'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 from
'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 text);
^~~~~~~~~
/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 text);
^~~~~~~~~~~~~
/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 member
of 'std'
/usr/local/include/unicode/unistr.h:3935:86: error: expected primary-expression
before ',' token
inline UnicodeString::UnicodeString(std::nullptr_t /*buffer*/, int32_t
/*buffLength*/, int32_t /*buffCapacity*/) {
^
/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*/) {
^
/usr/local/include/unicode/unistr.h:3935:112: error: expression list treated 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 declared
in this scope
return nullptr;
^~~~~~~
--
You are receiving this mail because:
You are on the CC list for the bug.
More information about the freebsd-office
mailing list