From 02b0369d4fa8a55d2f8e1cfae3fc9b90ad3aab83 Mon Sep 17 00:00:00 2001 From: Stephan Bergmann Date: Wed, 4 Dec 2019 17:10:48 +0100 Subject: external/icu: Fix -Werror=deprecated-copy-dtor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ...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 --- external/icu/UnpackedTarball_icu.mk | 1 + external/icu/Wdeprecated-copy-dtor.patch | 25 +++++++++++++++++++++++++ 2 files changed, 26 insertions(+) create mode 100644 external/icu/Wdeprecated-copy-dtor.patch (limited to 'external') 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 -- cgit