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 e9e4eb0736 "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@redhat.com>
This commit is contained in:
Stephan Bergmann
2019-12-04 17:10:48 +01:00
parent 2914bde7e1
commit 02b0369d4f
2 changed files with 26 additions and 0 deletions

View File

@@ -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))

View File

@@ -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