[Libreoffice-commits] core.git: external/icu

Stephan Bergmann (via logerrit) logerrit at kemper.freedesktop.org
Wed Dec 4 17:48:36 UTC 2019


 external/icu/UnpackedTarball_icu.mk      |    1 +
 external/icu/Wdeprecated-copy-dtor.patch |   25 +++++++++++++++++++++++++
 2 files changed, 26 insertions(+)

New commits:
commit 02b0369d4fa8a55d2f8e1cfae3fc9b90ad3aab83
Author:     Stephan Bergmann <sbergman at redhat.com>
AuthorDate: Wed Dec 4 17:10:48 2019 +0100
Commit:     Stephan Bergmann <sbergman at redhat.com>
CommitDate: Wed Dec 4 18:47:40 2019 +0100

    external/icu: Fix -Werror=deprecated-copy-dtor
    
    ...happening when LO code includes skia files:
    
    > In file included from workdir/UnpackedTarball/icu/source/i18n/unicode/format.h:47,
    >                  from workdir/UnpackedTarball/icu/source/i18n/unicode/numfmt.h:39,
    >                  from i18nutil/source/utility/unicode.cxx:26:
    > workdir/UnpackedTarball/icu/source/i18n/unicode/fieldpos.h: In copy constructor ‘icu_65::FieldPosition::FieldPosition(const icu_65::FieldPosition&)’:
    > workdir/UnpackedTarball/icu/source/i18n/unicode/fieldpos.h:146:102: error: implicitly-declared ‘constexpr icu_65::UObject::UObject(const icu_65::UObject&)’ is deprecated [-Werror=deprecated-copy-dtor]
    >   146 |         : UObject(copy), fField(copy.fField), fBeginIndex(copy.fBeginIndex), fEndIndex(copy.fEndIndex) {}
    >       |                                                                                                      ^
    > In file included from workdir/UnpackedTarball/icu/source/common/unicode/bytestream.h:44,
    >                  from workdir/UnpackedTarball/icu/source/common/unicode/locid.h:38,
    >                  from include/i18nlangtag/languagetagicu.hxx:16,
    >                  from i18nutil/source/utility/unicode.cxx:23:
    > /data/sbergman/lo-gcc/core/workdir/UnpackedTarball/icu/source/common/unicode/uobject.h:230:13: note: because ‘icu_65::UObject’ has user-provided ‘virtual icu_65::UObject::~UObject()’
    >   230 |     virtual ~UObject();
    >       |             ^
    
    See e9e4eb0736d5582fa37dcad20bf5826c50029249 "Fix some
    -Werror=deprecated-copy-dtor" for details about -Wdeprecated-copy-dtor.
    
    Change-Id: I89b94047af30452dd4e316b33877dd0775a851aa
    Reviewed-on: https://gerrit.libreoffice.org/84426
    Tested-by: Jenkins
    Reviewed-by: Stephan Bergmann <sbergman at redhat.com>

diff --git a/external/icu/UnpackedTarball_icu.mk b/external/icu/UnpackedTarball_icu.mk
index d615a1fe855e..2a07900f8d38 100644
--- a/external/icu/UnpackedTarball_icu.mk
+++ b/external/icu/UnpackedTarball_icu.mk
@@ -39,6 +39,7 @@ $(eval $(call gb_UnpackedTarball_add_patches,icu,\
 	external/icu/char8_t.patch \
 	external/icu/c++20-comparison.patch \
 	external/icu/ubsan.patch \
+	external/icu/Wdeprecated-copy-dtor.patch \
 ))
 
 $(eval $(call gb_UnpackedTarball_add_file,icu,source/data/brkitr/khmerdict.dict,external/icu/khmerdict.dict))
diff --git a/external/icu/Wdeprecated-copy-dtor.patch b/external/icu/Wdeprecated-copy-dtor.patch
new file mode 100644
index 000000000000..67078ef1bb59
--- /dev/null
+++ b/external/icu/Wdeprecated-copy-dtor.patch
@@ -0,0 +1,25 @@
+--- source/common/unicode/uobject.h
++++ source/common/unicode/uobject.h
+@@ -245,10 +245,10 @@
+     // direct use of UObject itself
+ 
+     // default constructor
+-    // inline UObject() {}
++    UObject() = default;
+ 
+     // copy constructor
+-    // inline UObject(const UObject &other) {}
++    UObject(const UObject &other) = default;
+ 
+ #if 0
+     // TODO Sometime in the future. Implement operator==().
+@@ -280,8 +280,8 @@
+      * Subclasses need this assignment operator if they use compiler-provided
+      * assignment operators of their own. An alternative to not declaring one
+      * here would be to declare and empty-implement a protected or public one.
+-    UObject &UObject::operator=(const UObject &);
+      */
++    UObject &operator=(const UObject &) = default;
+ };
+ 
+ #ifndef U_HIDE_INTERNAL_API


More information about the Libreoffice-commits mailing list