external/icu/UnpackedTarball_icu.mk | 1 external/icu/Wunnecessary-virtual-specifier.patch | 833 ++++++++++++++++++++++ 2 files changed, 834 insertions(+)
New commits: commit 2129691310f24a333d2a97e79f99a64e1b19a426 Author: Stephan Bergmann <stephan.bergm...@allotropia.de> AuthorDate: Mon May 12 15:53:57 2025 +0200 Commit: Stephan Bergmann <stephan.bergm...@allotropia.de> CommitDate: Tue May 13 08:15:35 2025 +0200 external/icu: New Clang 21 trunk -Werror,-Wunnecessary-virtual-specifier > [CXX] svl/source/misc/PasswordHelper.cxx > In file included from svl/source/misc/PasswordHelper.cxx:25: > workdir/UnpackedTarball/icu/source/i18n/unicode/regex.h:148:28: error: virtual method 'clone' is inside a 'final' class and can never be overridden [-Werror,-Wunnecessary-virtual-specifier] > 148 | virtual RegexPattern *clone() const; > | ^ > workdir/UnpackedTarball/icu/source/i18n/unicode/regex.h:328:22: error: virtual method 'flags' is inside a 'final' class and can never be overridden [-Werror,-Wunnecessary-virtual-specifier] > 328 | virtual uint32_t flags() const; > | ^ > workdir/UnpackedTarball/icu/source/i18n/unicode/regex.h:347:27: error: virtual method 'matcher' is inside a 'final' class and can never be overridden [-Werror,-Wunnecessary-virtual-specifier] > 347 | virtual RegexMatcher *matcher(const UnicodeString &input, > | ^ > workdir/UnpackedTarball/icu/source/i18n/unicode/regex.h:379:27: error: virtual method 'matcher' is inside a 'final' class and can never be overridden [-Werror,-Wunnecessary-virtual-specifier] > 379 | virtual RegexMatcher *matcher(UErrorCode &status) const; > | ^ > workdir/UnpackedTarball/icu/source/i18n/unicode/regex.h:428:27: error: virtual method 'pattern' is inside a 'final' class and can never be overridden [-Werror,-Wunnecessary-virtual-specifier] > 428 | virtual UnicodeString pattern() const; > | ^ > workdir/UnpackedTarball/icu/source/i18n/unicode/regex.h:441:20: error: virtual method 'patternText' is inside a 'final' class and can never be overridden [-Werror,-Wunnecessary-virtual-specifier] > 441 | virtual UText *patternText(UErrorCode &status) const; > | ^ > workdir/UnpackedTarball/icu/source/i18n/unicode/regex.h:457:21: error: virtual method 'groupNumberFromName' is inside a 'final' class and can never be overridden [-Werror,-Wunnecessary-virtual-specifier] > 457 | virtual int32_t groupNumberFromName(const UnicodeString &groupName, UErrorCode &status) const; > | ^ > workdir/UnpackedTarball/icu/source/i18n/unicode/regex.h:476:21: error: virtual method 'groupNumberFromName' is inside a 'final' class and can never be overridden [-Werror,-Wunnecessary-virtual-specifier] > 476 | virtual int32_t groupNumberFromName(const char *groupName, int32_t nameLength, UErrorCode &status) const; > | ^ > workdir/UnpackedTarball/icu/source/i18n/unicode/regex.h:517:22: error: virtual method 'split' is inside a 'final' class and can never be overridden [-Werror,-Wunnecessary-virtual-specifier] > 517 | virtual int32_t split(const UnicodeString &input, > | ^ > workdir/UnpackedTarball/icu/source/i18n/unicode/regex.h:561:22: error: virtual method 'split' is inside a 'final' class and can never be overridden [-Werror,-Wunnecessary-virtual-specifier] > 561 | virtual int32_t split(UText *input, > | ^ > workdir/UnpackedTarball/icu/source/i18n/unicode/regex.h:770:19: error: virtual method 'matches' is inside a 'final' class and can never be overridden [-Werror,-Wunnecessary-virtual-specifier] > 770 | virtual UBool matches(UErrorCode &status); > | ^ > workdir/UnpackedTarball/icu/source/i18n/unicode/regex.h:783:19: error: virtual method 'matches' is inside a 'final' class and can never be overridden [-Werror,-Wunnecessary-virtual-specifier] > 783 | virtual UBool matches(int64_t startIndex, UErrorCode &status); > | ^ > workdir/UnpackedTarball/icu/source/i18n/unicode/regex.h:799:19: error: virtual method 'lookingAt' is inside a 'final' class and can never be overridden [-Werror,-Wunnecessary-virtual-specifier] > 799 | virtual UBool lookingAt(UErrorCode &status); > | ^ > workdir/UnpackedTarball/icu/source/i18n/unicode/regex.h:815:19: error: virtual method 'lookingAt' is inside a 'final' class and can never be overridden [-Werror,-Wunnecessary-virtual-specifier] > 815 | virtual UBool lookingAt(int64_t startIndex, UErrorCode &status); > | ^ > workdir/UnpackedTarball/icu/source/i18n/unicode/regex.h:830:19: error: virtual method 'find' is inside a 'final' class and can never be overridden [-Werror,-Wunnecessary-virtual-specifier] > 830 | virtual UBool find(); > | ^ > workdir/UnpackedTarball/icu/source/i18n/unicode/regex.h:847:19: error: virtual method 'find' is inside a 'final' class and can never be overridden [-Werror,-Wunnecessary-virtual-specifier] > 847 | virtual UBool find(UErrorCode &status); > | ^ > workdir/UnpackedTarball/icu/source/i18n/unicode/regex.h:858:19: error: virtual method 'find' is inside a 'final' class and can never be overridden [-Werror,-Wunnecessary-virtual-specifier] > 858 | virtual UBool find(int64_t start, UErrorCode &status); > | ^ > workdir/UnpackedTarball/icu/source/i18n/unicode/regex.h:870:27: error: virtual method 'group' is inside a 'final' class and can never be overridden [-Werror,-Wunnecessary-virtual-specifier] > 870 | virtual UnicodeString group(UErrorCode &status) const; > | ^ > workdir/UnpackedTarball/icu/source/i18n/unicode/regex.h:890:27: error: virtual method 'group' is inside a 'final' class and can never be overridden [-Werror,-Wunnecessary-virtual-specifier] > 890 | virtual UnicodeString group(int32_t groupNum, UErrorCode &status) const; > | ^ > workdir/UnpackedTarball/icu/source/i18n/unicode/regex.h:897:21: error: virtual method 'groupCount' is inside a 'final' class and can never be overridden [-Werror,-Wunnecessary-virtual-specifier] > 897 | virtual int32_t groupCount() const; > | ^ > workdir/UnpackedTarball/icu/source/i18n/unicode/regex.h:914:20: error: virtual method 'group' is inside a 'final' class and can never be overridden [-Werror,-Wunnecessary-virtual-specifier] > 914 | virtual UText *group(UText *dest, int64_t &group_len, UErrorCode &status) const; > | ^ > workdir/UnpackedTarball/icu/source/i18n/unicode/regex.h:936:20: error: virtual method 'group' is inside a 'final' class and can never be overridden [-Werror,-Wunnecessary-virtual-specifier] > 936 | virtual UText *group(int32_t groupNum, UText *dest, int64_t &group_len, UErrorCode &status) const; > | ^ > workdir/UnpackedTarball/icu/source/i18n/unicode/regex.h:945:21: error: virtual method 'start' is inside a 'final' class and can never be overridden [-Werror,-Wunnecessary-virtual-specifier] > 945 | virtual int32_t start(UErrorCode &status) const; > | ^ > workdir/UnpackedTarball/icu/source/i18n/unicode/regex.h:954:21: error: virtual method 'start64' is inside a 'final' class and can never be overridden [-Werror,-Wunnecessary-virtual-specifier] > 954 | virtual int64_t start64(UErrorCode &status) const; > | ^ > workdir/UnpackedTarball/icu/source/i18n/unicode/regex.h:970:21: error: virtual method 'start' is inside a 'final' class and can never be overridden [-Werror,-Wunnecessary-virtual-specifier] > 970 | virtual int32_t start(int32_t group, UErrorCode &status) const; > | ^ > workdir/UnpackedTarball/icu/source/i18n/unicode/regex.h:985:21: error: virtual method 'start64' is inside a 'final' class and can never be overridden [-Werror,-Wunnecessary-virtual-specifier] > 985 | virtual int64_t start64(int32_t group, UErrorCode &status) const; > | ^ > workdir/UnpackedTarball/icu/source/i18n/unicode/regex.h:1000:21: error: virtual method 'end' is inside a 'final' class and can never be overridden [-Werror,-Wunnecessary-virtual-specifier] > 1000 | virtual int32_t end(UErrorCode &status) const; > | ^ > workdir/UnpackedTarball/icu/source/i18n/unicode/regex.h:1015:21: error: virtual method 'end64' is inside a 'final' class and can never be overridden [-Werror,-Wunnecessary-virtual-specifier] > 1015 | virtual int64_t end64(UErrorCode &status) const; > | ^ > workdir/UnpackedTarball/icu/source/i18n/unicode/regex.h:1035:21: error: virtual method 'end' is inside a 'final' class and can never be overridden [-Werror,-Wunnecessary-virtual-specifier] > 1035 | virtual int32_t end(int32_t group, UErrorCode &status) const; > | ^ > workdir/UnpackedTarball/icu/source/i18n/unicode/regex.h:1054:21: error: virtual method 'end64' is inside a 'final' class and can never be overridden [-Werror,-Wunnecessary-virtual-specifier] > 1054 | virtual int64_t end64(int32_t group, UErrorCode &status) const; > | ^ > workdir/UnpackedTarball/icu/source/i18n/unicode/regex.h:1064:27: error: virtual method 'reset' is inside a 'final' class and can never be overridden [-Werror,-Wunnecessary-virtual-specifier] > 1064 | virtual RegexMatcher &reset(); > | ^ > workdir/UnpackedTarball/icu/source/i18n/unicode/regex.h:1082:27: error: virtual method 'reset' is inside a 'final' class and can never be overridden [-Werror,-Wunnecessary-virtual-specifier] > 1082 | virtual RegexMatcher &reset(int64_t index, UErrorCode &status); > | ^ > workdir/UnpackedTarball/icu/source/i18n/unicode/regex.h:1102:27: error: virtual method 'reset' is inside a 'final' class and can never be overridden [-Werror,-Wunnecessary-virtual-specifier] > 1102 | virtual RegexMatcher &reset(const UnicodeString &input); > | ^ > workdir/UnpackedTarball/icu/source/i18n/unicode/regex.h:1118:27: error: virtual method 'reset' is inside a 'final' class and can never be overridden [-Werror,-Wunnecessary-virtual-specifier] > 1118 | virtual RegexMatcher &reset(UText *input); > | ^ > workdir/UnpackedTarball/icu/source/i18n/unicode/regex.h:1145:27: error: virtual method 'refreshInputText' is inside a 'final' class and can never be overridden [-Werror,-Wunnecessary-virtual-specifier] > 1145 | virtual RegexMatcher &refreshInputText(UText *input, UErrorCode &status); > | ^ > workdir/UnpackedTarball/icu/source/i18n/unicode/regex.h:1170:34: error: virtual method 'input' is inside a 'final' class and can never be overridden [-Werror,-Wunnecessary-virtual-specifier] > 1170 | virtual const UnicodeString &input() const; > | ^ > workdir/UnpackedTarball/icu/source/i18n/unicode/regex.h:1180:20: error: virtual method 'inputText' is inside a 'final' class and can never be overridden [-Werror,-Wunnecessary-virtual-specifier] > 1180 | virtual UText *inputText() const; > | ^ > workdir/UnpackedTarball/icu/source/i18n/unicode/regex.h:1192:20: error: virtual method 'getInput' is inside a 'final' class and can never be overridden [-Werror,-Wunnecessary-virtual-specifier] > 1192 | virtual UText *getInput(UText *dest, UErrorCode &status) const; > | ^ > workdir/UnpackedTarball/icu/source/i18n/unicode/regex.h:1213:28: error: virtual method 'region' is inside a 'final' class and can never be overridden [-Werror,-Wunnecessary-virtual-specifier] > 1213 | virtual RegexMatcher ®ion(int64_t start, int64_t limit, UErrorCode &status); > | ^ > workdir/UnpackedTarball/icu/source/i18n/unicode/regex.h:1226:28: error: virtual method 'region' is inside a 'final' class and can never be overridden [-Werror,-Wunnecessary-virtual-specifier] > 1226 | virtual RegexMatcher ®ion(int64_t regionStart, int64_t regionLimit, int64_t startIndex, UErrorCode &status); > | ^ > workdir/UnpackedTarball/icu/source/i18n/unicode/regex.h:1236:22: error: virtual method 'regionStart' is inside a 'final' class and can never be overridden [-Werror,-Wunnecessary-virtual-specifier] > 1236 | virtual int32_t regionStart() const; > | ^ > workdir/UnpackedTarball/icu/source/i18n/unicode/regex.h:1246:22: error: virtual method 'regionStart64' is inside a 'final' class and can never be overridden [-Werror,-Wunnecessary-virtual-specifier] > 1246 | virtual int64_t regionStart64() const; > | ^ > workdir/UnpackedTarball/icu/source/i18n/unicode/regex.h:1257:23: error: virtual method 'regionEnd' is inside a 'final' class and can never be overridden [-Werror,-Wunnecessary-virtual-specifier] > 1257 | virtual int32_t regionEnd() const; > | ^ > workdir/UnpackedTarball/icu/source/i18n/unicode/regex.h:1267:23: error: virtual method 'regionEnd64' is inside a 'final' class and can never be overridden [-Werror,-Wunnecessary-virtual-specifier] > 1267 | virtual int64_t regionEnd64() const; > | ^ > workdir/UnpackedTarball/icu/source/i18n/unicode/regex.h:1277:21: error: virtual method 'hasTransparentBounds' is inside a 'final' class and can never be overridden [-Werror,-Wunnecessary-virtual-specifier] > 1277 | virtual UBool hasTransparentBounds() const; > | ^ > workdir/UnpackedTarball/icu/source/i18n/unicode/regex.h:1297:29: error: virtual method 'useTransparentBounds' is inside a 'final' class and can never be overridden [-Werror,-Wunnecessary-virtual-specifier] > 1297 | virtual RegexMatcher &useTransparentBounds(UBool b); > | ^ > workdir/UnpackedTarball/icu/source/i18n/unicode/regex.h:1307:21: error: virtual method 'hasAnchoringBounds' is inside a 'final' class and can never be overridden [-Werror,-Wunnecessary-virtual-specifier] > 1307 | virtual UBool hasAnchoringBounds() const; > | ^ > workdir/UnpackedTarball/icu/source/i18n/unicode/regex.h:1322:29: error: virtual method 'useAnchoringBounds' is inside a 'final' class and can never be overridden [-Werror,-Wunnecessary-virtual-specifier] > 1322 | virtual RegexMatcher &useAnchoringBounds(UBool b); > | ^ > workdir/UnpackedTarball/icu/source/i18n/unicode/regex.h:1337:21: error: virtual method 'hitEnd' is inside a 'final' class and can never be overridden [-Werror,-Wunnecessary-virtual-specifier] > 1337 | virtual UBool hitEnd() const; > | ^ > workdir/UnpackedTarball/icu/source/i18n/unicode/regex.h:1348:21: error: virtual method 'requireEnd' is inside a 'final' class and can never be overridden [-Werror,-Wunnecessary-virtual-specifier] > 1348 | virtual UBool requireEnd() const; > | ^ > workdir/UnpackedTarball/icu/source/i18n/unicode/regex.h:1356:33: error: virtual method 'pattern' is inside a 'final' class and can never be overridden [-Werror,-Wunnecessary-virtual-specifier] > 1356 | virtual const RegexPattern &pattern() const; > | ^ > workdir/UnpackedTarball/icu/source/i18n/unicode/regex.h:1375:27: error: virtual method 'replaceAll' is inside a 'final' class and can never be overridden [-Werror,-Wunnecessary-virtual-specifier] > 1375 | virtual UnicodeString replaceAll(const UnicodeString &replacement, UErrorCode &status); > | ^ > workdir/UnpackedTarball/icu/source/i18n/unicode/regex.h:1398:20: error: virtual method 'replaceAll' is inside a 'final' class and can never be overridden [-Werror,-Wunnecessary-virtual-specifier] > 1398 | virtual UText *replaceAll(UText *replacement, UText *dest, UErrorCode &status); > | ^ > workdir/UnpackedTarball/icu/source/i18n/unicode/regex.h:1421:27: error: virtual method 'replaceFirst' is inside a 'final' class and can never be overridden [-Werror,-Wunnecessary-virtual-specifier] > 1421 | virtual UnicodeString replaceFirst(const UnicodeString &replacement, UErrorCode &status); > | ^ > workdir/UnpackedTarball/icu/source/i18n/unicode/regex.h:1448:20: error: virtual method 'replaceFirst' is inside a 'final' class and can never be overridden [-Werror,-Wunnecessary-virtual-specifier] > 1448 | virtual UText *replaceFirst(UText *replacement, UText *dest, UErrorCode &status); > | ^ > workdir/UnpackedTarball/icu/source/i18n/unicode/regex.h:1478:27: error: virtual method 'appendReplacement' is inside a 'final' class and can never be overridden [-Werror,-Wunnecessary-virtual-specifier] > 1478 | virtual RegexMatcher &appendReplacement(UnicodeString &dest, > | ^ > workdir/UnpackedTarball/icu/source/i18n/unicode/regex.h:1509:27: error: virtual method 'appendReplacement' is inside a 'final' class and can never be overridden [-Werror,-Wunnecessary-virtual-specifier] > 1509 | virtual RegexMatcher &appendReplacement(UText *dest, > | ^ > workdir/UnpackedTarball/icu/source/i18n/unicode/regex.h:1523:28: error: virtual method 'appendTail' is inside a 'final' class and can never be overridden [-Werror,-Wunnecessary-virtual-specifier] > 1523 | virtual UnicodeString &appendTail(UnicodeString &dest); > | ^ > workdir/UnpackedTarball/icu/source/i18n/unicode/regex.h:1539:20: error: virtual method 'appendTail' is inside a 'final' class and can never be overridden [-Werror,-Wunnecessary-virtual-specifier] > 1539 | virtual UText *appendTail(UText *dest, UErrorCode &status); > | ^ > workdir/UnpackedTarball/icu/source/i18n/unicode/regex.h:1565:22: error: virtual method 'split' is inside a 'final' class and can never be overridden [-Werror,-Wunnecessary-virtual-specifier] > 1565 | virtual int32_t split(const UnicodeString &input, > | ^ > workdir/UnpackedTarball/icu/source/i18n/unicode/regex.h:1594:22: error: virtual method 'split' is inside a 'final' class and can never be overridden [-Werror,-Wunnecessary-virtual-specifier] > 1594 | virtual int32_t split(UText *input, > | ^ > workdir/UnpackedTarball/icu/source/i18n/unicode/regex.h:1620:18: error: virtual method 'setTimeLimit' is inside a 'final' class and can never be overridden [-Werror,-Wunnecessary-virtual-specifier] > 1620 | virtual void setTimeLimit(int32_t limit, UErrorCode &status); > | ^ > workdir/UnpackedTarball/icu/source/i18n/unicode/regex.h:1628:21: error: virtual method 'getTimeLimit' is inside a 'final' class and can never be overridden [-Werror,-Wunnecessary-virtual-specifier] > 1628 | virtual int32_t getTimeLimit() const; > | ^ > workdir/UnpackedTarball/icu/source/i18n/unicode/regex.h:1651:18: error: virtual method 'setStackLimit' is inside a 'final' class and can never be overridden [-Werror,-Wunnecessary-virtual-specifier] > 1651 | virtual void setStackLimit(int32_t limit, UErrorCode &status); > | ^ > workdir/UnpackedTarball/icu/source/i18n/unicode/regex.h:1660:22: error: virtual method 'getStackLimit' is inside a 'final' class and can never be overridden [-Werror,-Wunnecessary-virtual-specifier] > 1660 | virtual int32_t getStackLimit() const; > | ^ > workdir/UnpackedTarball/icu/source/i18n/unicode/regex.h:1676:18: error: virtual method 'setMatchCallback' is inside a 'final' class and can never be overridden [-Werror,-Wunnecessary-virtual-specifier] > 1676 | virtual void setMatchCallback(URegexMatchCallback *callback, > | ^ > workdir/UnpackedTarball/icu/source/i18n/unicode/regex.h:1691:18: error: virtual method 'getMatchCallback' is inside a 'final' class and can never be overridden [-Werror,-Wunnecessary-virtual-specifier] > 1691 | virtual void getMatchCallback(URegexMatchCallback *&callback, > | ^ > workdir/UnpackedTarball/icu/source/i18n/unicode/regex.h:1709:18: error: virtual method 'setFindProgressCallback' is inside a 'final' class and can never be overridden [-Werror,-Wunnecessary-virtual-specifier] > 1709 | virtual void setFindProgressCallback(URegexFindProgressCallback *callback, > | ^ > workdir/UnpackedTarball/icu/source/i18n/unicode/regex.h:1724:18: error: virtual method 'getFindProgressCallback' is inside a 'final' class and can never be overridden [-Werror,-Wunnecessary-virtual-specifier] > 1724 | virtual void getFindProgressCallback(URegexFindProgressCallback *&callback, > | ^ and > [CXX] i18npool/source/collator/collator_unicode.cxx > In file included from i18npool/source/collator/collator_unicode.cxx:29: > In file included from i18npool/inc/collator_unicode.hxx:26: > In file included from workdir/UnpackedTarball/icu/source/i18n/unicode/tblcoll.h:71: > In file included from workdir/UnpackedTarball/icu/source/i18n/unicode/coll.h:70: > workdir/UnpackedTarball/icu/source/common/unicode/uniset.h:498:18: error: virtual method 'operator==' is inside a 'final' class and can never be overridden [-Werror,-Wunnecessary-virtual-specifier] > 498 | virtual bool operator==(const UnicodeSet& o) const; > | ^ > workdir/UnpackedTarball/icu/source/common/unicode/uniset.h:525:21: error: virtual method 'hashCode' is inside a 'final' class and can never be overridden [-Werror,-Wunnecessary-virtual-specifier] > 525 | virtual int32_t hashCode() const; > | ^ > workdir/UnpackedTarball/icu/source/common/unicode/uniset.h:795:21: error: virtual method 'size' is inside a 'final' class and can never be overridden [-Werror,-Wunnecessary-virtual-specifier] > 795 | virtual int32_t size() const; > | ^ > workdir/UnpackedTarball/icu/source/common/unicode/uniset.h:803:19: error: virtual method 'isEmpty' is inside a 'final' class and can never be overridden [-Werror,-Wunnecessary-virtual-specifier] > 803 | virtual UBool isEmpty() const; > | ^ > workdir/UnpackedTarball/icu/source/common/unicode/uniset.h:828:19: error: virtual method 'contains' is inside a 'final' class and can never be overridden [-Werror,-Wunnecessary-virtual-specifier] > 828 | virtual UBool contains(UChar32 start, UChar32 end) const; > | ^ > workdir/UnpackedTarball/icu/source/common/unicode/uniset.h:846:19: error: virtual method 'containsAll' is inside a 'final' class and can never be overridden [-Werror,-Wunnecessary-virtual-specifier] > 846 | virtual UBool containsAll(const UnicodeSet& c) const; > | ^ > workdir/UnpackedTarball/icu/source/common/unicode/uniset.h:1234:25: error: virtual method 'add' is inside a 'final' class and can never be overridden [-Werror,-Wunnecessary-virtual-specifier] > 1234 | virtual UnicodeSet& add(UChar32 start, UChar32 end); > | ^ > workdir/UnpackedTarball/icu/source/common/unicode/uniset.h:1340:25: error: virtual method 'retain' is inside a 'final' class and can never be overridden [-Werror,-Wunnecessary-virtual-specifier] > 1340 | virtual UnicodeSet& retain(UChar32 start, UChar32 end); > | ^ > workdir/UnpackedTarball/icu/source/common/unicode/uniset.h:1378:25: error: virtual method 'remove' is inside a 'final' class and can never be overridden [-Werror,-Wunnecessary-virtual-specifier] > 1378 | virtual UnicodeSet& remove(UChar32 start, UChar32 end); > | ^ > workdir/UnpackedTarball/icu/source/common/unicode/uniset.h:1415:25: error: virtual method 'complement' is inside a 'final' class and can never be overridden [-Werror,-Wunnecessary-virtual-specifier] > 1415 | virtual UnicodeSet& complement(); > | ^ > workdir/UnpackedTarball/icu/source/common/unicode/uniset.h:1429:25: error: virtual method 'complement' is inside a 'final' class and can never be overridden [-Werror,-Wunnecessary-virtual-specifier] > 1429 | virtual UnicodeSet& complement(UChar32 start, UChar32 end); > | ^ > workdir/UnpackedTarball/icu/source/common/unicode/uniset.h:1466:25: error: virtual method 'addAll' is inside a 'final' class and can never be overridden [-Werror,-Wunnecessary-virtual-specifier] > 1466 | virtual UnicodeSet& addAll(const UnicodeSet& c); > | ^ > workdir/UnpackedTarball/icu/source/common/unicode/uniset.h:1479:25: error: virtual method 'retainAll' is inside a 'final' class and can never be overridden [-Werror,-Wunnecessary-virtual-specifier] > 1479 | virtual UnicodeSet& retainAll(const UnicodeSet& c); > | ^ > workdir/UnpackedTarball/icu/source/common/unicode/uniset.h:1492:25: error: virtual method 'removeAll' is inside a 'final' class and can never be overridden [-Werror,-Wunnecessary-virtual-specifier] > 1492 | virtual UnicodeSet& removeAll(const UnicodeSet& c); > | ^ > workdir/UnpackedTarball/icu/source/common/unicode/uniset.h:1504:25: error: virtual method 'complementAll' is inside a 'final' class and can never be overridden [-Werror,-Wunnecessary-virtual-specifier] > 1504 | virtual UnicodeSet& complementAll(const UnicodeSet& c); > | ^ > workdir/UnpackedTarball/icu/source/common/unicode/uniset.h:1512:25: error: virtual method 'clear' is inside a 'final' class and can never be overridden [-Werror,-Wunnecessary-virtual-specifier] > 1512 | virtual UnicodeSet& clear(); > | ^ > workdir/UnpackedTarball/icu/source/common/unicode/uniset.h:1549:25: error: virtual method 'removeAllStrings' is inside a 'final' class and can never be overridden [-Werror,-Wunnecessary-virtual-specifier] > 1549 | virtual UnicodeSet &removeAllStrings(); > | ^ > workdir/UnpackedTarball/icu/source/common/unicode/uniset.h:1558:21: error: virtual method 'getRangeCount' is inside a 'final' class and can never be overridden [-Werror,-Wunnecessary-virtual-specifier] > 1558 | virtual int32_t getRangeCount() const; > | ^ > workdir/UnpackedTarball/icu/source/common/unicode/uniset.h:1567:21: error: virtual method 'getRangeStart' is inside a 'final' class and can never be overridden [-Werror,-Wunnecessary-virtual-specifier] > 1567 | virtual UChar32 getRangeStart(int32_t index) const; > | ^ > workdir/UnpackedTarball/icu/source/common/unicode/uniset.h:1576:21: error: virtual method 'getRangeEnd' is inside a 'final' class and can never be overridden [-Werror,-Wunnecessary-virtual-specifier] > 1576 | virtual UChar32 getRangeEnd(int32_t index) const; > | ^ > workdir/UnpackedTarball/icu/source/common/unicode/uniset.h:1634:25: error: virtual method 'compact' is inside a 'final' class and can never be overridden [-Werror,-Wunnecessary-virtual-specifier] > 1634 | virtual UnicodeSet& compact(); > | ^ > In file included from i18npool/source/collator/collator_unicode.cxx:29: > In file included from i18npool/inc/collator_unicode.hxx:26: > workdir/UnpackedTarball/icu/source/i18n/unicode/tblcoll.h:245:39: error: virtual method 'createCollationElementIterator' is inside a 'final' class and can never be overridden [-Werror,-Wunnecessary-virtual-specifier] > 245 | virtual CollationElementIterator* createCollationElementIterator( > | ^ > workdir/UnpackedTarball/icu/source/i18n/unicode/tblcoll.h:257:39: error: virtual method 'createCollationElementIterator' is inside a 'final' class and can never be overridden [-Werror,-Wunnecessary-virtual-specifier] > 257 | virtual CollationElementIterator* createCollationElementIterator( > | ^ etc. Change-Id: Id2e6c2ac7b10a625b9698644c310a32b0f4b4aa2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/185220 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <stephan.bergm...@allotropia.de> diff --git a/external/icu/UnpackedTarball_icu.mk b/external/icu/UnpackedTarball_icu.mk index 92777dd331cb..b3bd35e605e8 100644 --- a/external/icu/UnpackedTarball_icu.mk +++ b/external/icu/UnpackedTarball_icu.mk @@ -40,6 +40,7 @@ $(eval $(call gb_UnpackedTarball_add_patches,icu,\ external/icu/icu4c-$(if $(filter ANDROID,$(OS)),android,rpath).patch.1 \ $(if $(filter-out ANDROID,$(OS)),external/icu/icu4c-icudata-stdlibs.patch.1) \ external/icu/no-python.patch \ + external/icu/Wunnecessary-virtual-specifier.patch \ )) $(eval $(call gb_UnpackedTarball_add_file,icu,source/data/brkitr/khmerdict.dict,external/icu/khmerdict.dict)) diff --git a/external/icu/Wunnecessary-virtual-specifier.patch b/external/icu/Wunnecessary-virtual-specifier.patch new file mode 100644 index 000000000000..9ba9c9ad317f --- /dev/null +++ b/external/icu/Wunnecessary-virtual-specifier.patch @@ -0,0 +1,833 @@ +--- source/common/unicode/uniset.h ++++ source/common/unicode/uniset.h +@@ -495,7 +495,7 @@ + * @return <tt>true</tt> if the specified set is equal to this set. + * @stable ICU 2.0 + */ +- virtual bool operator==(const UnicodeSet& o) const; ++ bool operator==(const UnicodeSet& o) const; + + /** + * Compares the specified object with this set for equality. Returns +@@ -522,7 +522,7 @@ + * @see Object#hashCode() + * @stable ICU 2.0 + */ +- virtual int32_t hashCode() const; ++ int32_t hashCode() const; + + /** + * Get a UnicodeSet pointer from a USet +@@ -792,7 +792,7 @@ + * @stable ICU 2.0 + * @see getRangeCount + */ +- virtual int32_t size() const; ++ int32_t size() const; + + /** + * Returns <tt>true</tt> if this set contains no elements. +@@ -800,7 +800,7 @@ + * @return <tt>true</tt> if this set contains no elements. + * @stable ICU 2.0 + */ +- virtual UBool isEmpty() const; ++ UBool isEmpty() const; + + /** + * @return true if this set contains multi-character strings or the empty string. +@@ -825,7 +825,7 @@ + * @return true if the test condition is met + * @stable ICU 2.0 + */ +- virtual UBool contains(UChar32 start, UChar32 end) const; ++ UBool contains(UChar32 start, UChar32 end) const; + + /** + * Returns <tt>true</tt> if this set contains the given +@@ -843,7 +843,7 @@ + * @return true if the test condition is met + * @stable ICU 2.4 + */ +- virtual UBool containsAll(const UnicodeSet& c) const; ++ UBool containsAll(const UnicodeSet& c) const; + + /** + * Returns true if this set contains all the characters +@@ -1231,7 +1231,7 @@ + * to this set. + * @stable ICU 2.0 + */ +- virtual UnicodeSet& add(UChar32 start, UChar32 end); ++ UnicodeSet& add(UChar32 start, UChar32 end); + + /** + * Adds the specified character to this set if it is not already +@@ -1337,7 +1337,7 @@ + * @param end last character, inclusive, of range + * @stable ICU 2.0 + */ +- virtual UnicodeSet& retain(UChar32 start, UChar32 end); ++ UnicodeSet& retain(UChar32 start, UChar32 end); + + + /** +@@ -1375,7 +1375,7 @@ + * from this set. + * @stable ICU 2.0 + */ +- virtual UnicodeSet& remove(UChar32 start, UChar32 end); ++ UnicodeSet& remove(UChar32 start, UChar32 end); + + /** + * Removes the specified character from this set if it is present. +@@ -1412,7 +1412,7 @@ + * A frozen set will not be modified. + * @stable ICU 2.0 + */ +- virtual UnicodeSet& complement(); ++ UnicodeSet& complement(); + + /** + * Complements the specified range in this set. Any character in +@@ -1426,7 +1426,7 @@ + * @param end last character, inclusive, of range + * @stable ICU 2.0 + */ +- virtual UnicodeSet& complement(UChar32 start, UChar32 end); ++ UnicodeSet& complement(UChar32 start, UChar32 end); + + /** + * Complements the specified character in this set. The character +@@ -1463,7 +1463,7 @@ + * @see #add(UChar32, UChar32) + * @stable ICU 2.0 + */ +- virtual UnicodeSet& addAll(const UnicodeSet& c); ++ UnicodeSet& addAll(const UnicodeSet& c); + + /** + * Retains only the elements in this set that are contained in the +@@ -1476,7 +1476,7 @@ + * @param c set that defines which elements this set will retain. + * @stable ICU 2.0 + */ +- virtual UnicodeSet& retainAll(const UnicodeSet& c); ++ UnicodeSet& retainAll(const UnicodeSet& c); + + /** + * Removes from this set all of its elements that are contained in the +@@ -1489,7 +1489,7 @@ + * this set. + * @stable ICU 2.0 + */ +- virtual UnicodeSet& removeAll(const UnicodeSet& c); ++ UnicodeSet& removeAll(const UnicodeSet& c); + + /** + * Complements in this set all elements contained in the specified +@@ -1501,7 +1501,7 @@ + * this set. + * @stable ICU 2.4 + */ +- virtual UnicodeSet& complementAll(const UnicodeSet& c); ++ UnicodeSet& complementAll(const UnicodeSet& c); + + /** + * Removes all of the elements from this set. This set will be +@@ -1509,7 +1509,7 @@ + * A frozen set will not be modified. + * @stable ICU 2.0 + */ +- virtual UnicodeSet& clear(); ++ UnicodeSet& clear(); + + /** + * Close this set over the given attribute. For the attribute +@@ -1546,7 +1546,7 @@ + * @return a reference to this set. + * @stable ICU 4.2 + */ +- virtual UnicodeSet &removeAllStrings(); ++ UnicodeSet &removeAllStrings(); + + /** + * Iteration method that returns the number of ranges contained in +@@ -1555,7 +1555,7 @@ + * @see #getRangeEnd + * @stable ICU 2.4 + */ +- virtual int32_t getRangeCount() const; ++ int32_t getRangeCount() const; + + /** + * Iteration method that returns the first character in the +@@ -1564,7 +1564,7 @@ + * @see #getRangeEnd + * @stable ICU 2.4 + */ +- virtual UChar32 getRangeStart(int32_t index) const; ++ UChar32 getRangeStart(int32_t index) const; + + /** + * Iteration method that returns the last character in the +@@ -1573,7 +1573,7 @@ + * @see #getRangeEnd + * @stable ICU 2.4 + */ +- virtual UChar32 getRangeEnd(int32_t index) const; ++ UChar32 getRangeEnd(int32_t index) const; + + /** + * Serializes this set into an array of 16-bit integers. Serialization +@@ -1631,7 +1631,7 @@ + * A frozen set will not be modified. + * @stable ICU 2.4 + */ +- virtual UnicodeSet& compact(); ++ UnicodeSet& compact(); + + /** + * Return the class ID for this class. This is useful only for +--- source/i18n/unicode/regex.h ++++ source/i18n/unicode/regex.h +@@ -145,7 +145,7 @@ + * @return the copy of this RegexPattern + * @stable ICU 2.4 + */ +- virtual RegexPattern *clone() const; ++ RegexPattern *clone() const; + + + /** +@@ -325,7 +325,7 @@ + * @return the #URegexpFlag match mode flags + * @stable ICU 2.4 + */ +- virtual uint32_t flags() const; ++ uint32_t flags() const; + + /** + * Creates a RegexMatcher that will match the given input against this pattern. The +@@ -344,7 +344,7 @@ + * + * @stable ICU 2.4 + */ +- virtual RegexMatcher *matcher(const UnicodeString &input, ++ RegexMatcher *matcher(const UnicodeString &input, + UErrorCode &status) const; + + private: +@@ -376,7 +376,7 @@ + * + * @stable ICU 2.6 + */ +- virtual RegexMatcher *matcher(UErrorCode &status) const; ++ RegexMatcher *matcher(UErrorCode &status) const; + + + /** +@@ -425,7 +425,7 @@ + * the returned string may no longer reflect the RegexPattern object. + * @stable ICU 2.4 + */ +- virtual UnicodeString pattern() const; ++ UnicodeString pattern() const; + + + /** +@@ -438,7 +438,7 @@ + * + * @stable ICU 4.6 + */ +- virtual UText *patternText(UErrorCode &status) const; ++ UText *patternText(UErrorCode &status) const; + + + /** +@@ -454,7 +454,7 @@ + * + * @stable ICU 55 + */ +- virtual int32_t groupNumberFromName(const UnicodeString &groupName, UErrorCode &status) const; ++ int32_t groupNumberFromName(const UnicodeString &groupName, UErrorCode &status) const; + + + /** +@@ -473,7 +473,7 @@ + * + * @stable ICU 55 + */ +- virtual int32_t groupNumberFromName(const char *groupName, int32_t nameLength, UErrorCode &status) const; ++ int32_t groupNumberFromName(const char *groupName, int32_t nameLength, UErrorCode &status) const; + + + /** +@@ -514,7 +514,7 @@ + * @return The number of fields into which the input string was split. + * @stable ICU 2.4 + */ +- virtual int32_t split(const UnicodeString &input, ++ int32_t split(const UnicodeString &input, + UnicodeString dest[], + int32_t destCapacity, + UErrorCode &status) const; +@@ -558,7 +558,7 @@ + * + * @stable ICU 4.6 + */ +- virtual int32_t split(UText *input, ++ int32_t split(UText *input, + UText *dest[], + int32_t destCapacity, + UErrorCode &status) const; +@@ -767,7 +767,7 @@ + * @return true if there is a match + * @stable ICU 2.4 + */ +- virtual UBool matches(UErrorCode &status); ++ UBool matches(UErrorCode &status); + + + /** +@@ -780,7 +780,7 @@ + * @return true if there is a match + * @stable ICU 2.8 + */ +- virtual UBool matches(int64_t startIndex, UErrorCode &status); ++ UBool matches(int64_t startIndex, UErrorCode &status); + + + /** +@@ -796,7 +796,7 @@ + * @return true if there is a match at the start of the input string. + * @stable ICU 2.4 + */ +- virtual UBool lookingAt(UErrorCode &status); ++ UBool lookingAt(UErrorCode &status); + + + /** +@@ -812,7 +812,7 @@ + * @return true if there is a match. + * @stable ICU 2.8 + */ +- virtual UBool lookingAt(int64_t startIndex, UErrorCode &status); ++ UBool lookingAt(int64_t startIndex, UErrorCode &status); + + + /** +@@ -827,7 +827,7 @@ + * @return true if a match is found. + * @stable ICU 2.4 + */ +- virtual UBool find(); ++ UBool find(); + + + /** +@@ -844,7 +844,7 @@ + * @return true if a match is found. + * @stable ICU 55 + */ +- virtual UBool find(UErrorCode &status); ++ UBool find(UErrorCode &status); + + /** + * Resets this RegexMatcher and then attempts to find the next substring of the +@@ -855,7 +855,7 @@ + * @return true if a match is found. + * @stable ICU 2.4 + */ +- virtual UBool find(int64_t start, UErrorCode &status); ++ UBool find(int64_t start, UErrorCode &status); + + + /** +@@ -867,7 +867,7 @@ + * @return a string containing the matched input text. + * @stable ICU 2.4 + */ +- virtual UnicodeString group(UErrorCode &status) const; ++ UnicodeString group(UErrorCode &status) const; + + + /** +@@ -887,14 +887,14 @@ + * @return the captured text + * @stable ICU 2.4 + */ +- virtual UnicodeString group(int32_t groupNum, UErrorCode &status) const; ++ UnicodeString group(int32_t groupNum, UErrorCode &status) const; + + /** + * Returns the number of capturing groups in this matcher's pattern. + * @return the number of capture groups + * @stable ICU 2.4 + */ +- virtual int32_t groupCount() const; ++ int32_t groupCount() const; + + + /** +@@ -911,7 +911,7 @@ + * + * @stable ICU 4.6 + */ +- virtual UText *group(UText *dest, int64_t &group_len, UErrorCode &status) const; ++ UText *group(UText *dest, int64_t &group_len, UErrorCode &status) const; + + /** + * Returns a shallow clone of the entire live input string with the UText current native index +@@ -933,7 +933,7 @@ + * + * @stable ICU 4.6 + */ +- virtual UText *group(int32_t groupNum, UText *dest, int64_t &group_len, UErrorCode &status) const; ++ UText *group(int32_t groupNum, UText *dest, int64_t &group_len, UErrorCode &status) const; + + /** + * Returns the index in the input string of the start of the text matched +@@ -942,7 +942,7 @@ + * @return The (native) position in the input string of the start of the last match. + * @stable ICU 2.4 + */ +- virtual int32_t start(UErrorCode &status) const; ++ int32_t start(UErrorCode &status) const; + + /** + * Returns the index in the input string of the start of the text matched +@@ -951,7 +951,7 @@ + * @return The (native) position in the input string of the start of the last match. + * @stable ICU 4.6 + */ +- virtual int64_t start64(UErrorCode &status) const; ++ int64_t start64(UErrorCode &status) const; + + + /** +@@ -967,7 +967,7 @@ + * @return the (native) start position of substring matched by the specified group. + * @stable ICU 2.4 + */ +- virtual int32_t start(int32_t group, UErrorCode &status) const; ++ int32_t start(int32_t group, UErrorCode &status) const; + + /** + * Returns the index in the input string of the start of the text matched by the +@@ -982,7 +982,7 @@ + * @return the (native) start position of substring matched by the specified group. + * @stable ICU 4.6 + */ +- virtual int64_t start64(int32_t group, UErrorCode &status) const; ++ int64_t start64(int32_t group, UErrorCode &status) const; + + /** + * Returns the index in the input string of the first character following the +@@ -997,7 +997,7 @@ + * a byte index for UTF-8. + * @stable ICU 2.4 + */ +- virtual int32_t end(UErrorCode &status) const; ++ int32_t end(UErrorCode &status) const; + + /** + * Returns the index in the input string of the first character following the +@@ -1012,7 +1012,7 @@ + * a byte index for UTF-8. + * @stable ICU 4.6 + */ +- virtual int64_t end64(UErrorCode &status) const; ++ int64_t end64(UErrorCode &status) const; + + + /** +@@ -1032,7 +1032,7 @@ + * a byte index for UTF8. + * @stable ICU 2.4 + */ +- virtual int32_t end(int32_t group, UErrorCode &status) const; ++ int32_t end(int32_t group, UErrorCode &status) const; + + /** + * Returns the index in the input string of the character following the +@@ -1051,7 +1051,7 @@ + * a byte index for UTF8. + * @stable ICU 4.6 + */ +- virtual int64_t end64(int32_t group, UErrorCode &status) const; ++ int64_t end64(int32_t group, UErrorCode &status) const; + + /** + * Resets this matcher. The effect is to remove any memory of previous matches, +@@ -1061,7 +1061,7 @@ + * @return this RegexMatcher. + * @stable ICU 2.4 + */ +- virtual RegexMatcher &reset(); ++ RegexMatcher &reset(); + + + /** +@@ -1079,7 +1079,7 @@ + * @return this RegexMatcher. + * @stable ICU 2.8 + */ +- virtual RegexMatcher &reset(int64_t index, UErrorCode &status); ++ RegexMatcher &reset(int64_t index, UErrorCode &status); + + + /** +@@ -1099,7 +1099,7 @@ + * @return this RegexMatcher. + * @stable ICU 2.4 + */ +- virtual RegexMatcher &reset(const UnicodeString &input); ++ RegexMatcher &reset(const UnicodeString &input); + + + /** +@@ -1115,7 +1115,7 @@ + * + * @stable ICU 4.6 + */ +- virtual RegexMatcher &reset(UText *input); ++ RegexMatcher &reset(UText *input); + + + /** +@@ -1142,7 +1142,7 @@ + * + * @stable ICU 4.8 + */ +- virtual RegexMatcher &refreshInputText(UText *input, UErrorCode &status); ++ RegexMatcher &refreshInputText(UText *input, UErrorCode &status); + + private: + /** +@@ -1167,7 +1167,7 @@ + * @return the input string + * @stable ICU 2.4 + */ +- virtual const UnicodeString &input() const; ++ const UnicodeString &input() const; + + /** + * Returns the input string being matched. This is the live input text; it should not be +@@ -1177,7 +1177,7 @@ + * + * @stable ICU 4.6 + */ +- virtual UText *inputText() const; ++ UText *inputText() const; + + /** + * Returns the input string being matched, either by copying it into the provided +@@ -1189,7 +1189,7 @@ + * + * @stable ICU 4.6 + */ +- virtual UText *getInput(UText *dest, UErrorCode &status) const; ++ UText *getInput(UText *dest, UErrorCode &status) const; + + + /** Sets the limits of this matcher's region. +@@ -1210,7 +1210,7 @@ + * @param status A reference to a UErrorCode to receive any errors. + * @stable ICU 4.0 + */ +- virtual RegexMatcher ®ion(int64_t start, int64_t limit, UErrorCode &status); ++ RegexMatcher ®ion(int64_t start, int64_t limit, UErrorCode &status); + + /** + * Identical to region(start, limit, status) but also allows a start position without +@@ -1223,7 +1223,7 @@ + * U_INDEX_OUTOFBOUNDS_ERROR is returned. + * @stable ICU 4.6 + */ +- virtual RegexMatcher ®ion(int64_t regionStart, int64_t regionLimit, int64_t startIndex, UErrorCode &status); ++ RegexMatcher ®ion(int64_t regionStart, int64_t regionLimit, int64_t startIndex, UErrorCode &status); + + /** + * Reports the start index of this matcher's region. The searches this matcher +@@ -1233,7 +1233,7 @@ + * @return The starting (native) index of this matcher's region. + * @stable ICU 4.0 + */ +- virtual int32_t regionStart() const; ++ int32_t regionStart() const; + + /** + * Reports the start index of this matcher's region. The searches this matcher +@@ -1243,7 +1243,7 @@ + * @return The starting (native) index of this matcher's region. + * @stable ICU 4.6 + */ +- virtual int64_t regionStart64() const; ++ int64_t regionStart64() const; + + + /** +@@ -1254,7 +1254,7 @@ + * @return The ending point (native) of this matcher's region. + * @stable ICU 4.0 + */ +- virtual int32_t regionEnd() const; ++ int32_t regionEnd() const; + + /** + * Reports the end (limit) index (exclusive) of this matcher's region. The searches +@@ -1264,7 +1264,7 @@ + * @return The ending point (native) of this matcher's region. + * @stable ICU 4.6 + */ +- virtual int64_t regionEnd64() const; ++ int64_t regionEnd64() const; + + /** + * Queries the transparency of region bounds for this matcher. +@@ -1274,7 +1274,7 @@ + * @return true if this matcher is using opaque bounds, false if it is not. + * @stable ICU 4.0 + */ +- virtual UBool hasTransparentBounds() const; ++ UBool hasTransparentBounds() const; + + /** + * Sets the transparency of region bounds for this matcher. +@@ -1294,7 +1294,7 @@ + * @return This Matcher; + * @stable ICU 4.0 + **/ +- virtual RegexMatcher &useTransparentBounds(UBool b); ++ RegexMatcher &useTransparentBounds(UBool b); + + + /** +@@ -1304,7 +1304,7 @@ + * @return true if this matcher is using anchoring bounds. + * @stable ICU 4.0 + */ +- virtual UBool hasAnchoringBounds() const; ++ UBool hasAnchoringBounds() const; + + + /** +@@ -1319,7 +1319,7 @@ + * @return This Matcher + * @stable ICU 4.0 + */ +- virtual RegexMatcher &useAnchoringBounds(UBool b); ++ RegexMatcher &useAnchoringBounds(UBool b); + + + /** +@@ -1334,7 +1334,7 @@ + * @return true if the most recent match hit the end of input + * @stable ICU 4.0 + */ +- virtual UBool hitEnd() const; ++ UBool hitEnd() const; + + /** + * Return true the most recent match succeeded and additional input could cause +@@ -1345,7 +1345,7 @@ + * @return true if more input could cause the most recent match to no longer match. + * @stable ICU 4.0 + */ +- virtual UBool requireEnd() const; ++ UBool requireEnd() const; + + + /** +@@ -1353,7 +1353,7 @@ + * @return the RegexPattern for this RegexMatcher + * @stable ICU 2.4 + */ +- virtual const RegexPattern &pattern() const; ++ const RegexPattern &pattern() const; + + + /** +@@ -1372,7 +1372,7 @@ + * @return a string containing the results of the find and replace. + * @stable ICU 2.4 + */ +- virtual UnicodeString replaceAll(const UnicodeString &replacement, UErrorCode &status); ++ UnicodeString replaceAll(const UnicodeString &replacement, UErrorCode &status); + + + /** +@@ -1395,7 +1395,7 @@ + * + * @stable ICU 4.6 + */ +- virtual UText *replaceAll(UText *replacement, UText *dest, UErrorCode &status); ++ UText *replaceAll(UText *replacement, UText *dest, UErrorCode &status); + + + /** +@@ -1418,7 +1418,7 @@ + * @return a string containing the results of the find and replace. + * @stable ICU 2.4 + */ +- virtual UnicodeString replaceFirst(const UnicodeString &replacement, UErrorCode &status); ++ UnicodeString replaceFirst(const UnicodeString &replacement, UErrorCode &status); + + + /** +@@ -1445,7 +1445,7 @@ + * + * @stable ICU 4.6 + */ +- virtual UText *replaceFirst(UText *replacement, UText *dest, UErrorCode &status); ++ UText *replaceFirst(UText *replacement, UText *dest, UErrorCode &status); + + + /** +@@ -1475,7 +1475,7 @@ + * @stable ICU 2.4 + * + */ +- virtual RegexMatcher &appendReplacement(UnicodeString &dest, ++ RegexMatcher &appendReplacement(UnicodeString &dest, + const UnicodeString &replacement, UErrorCode &status); + + +@@ -1506,7 +1506,7 @@ + * + * @stable ICU 4.6 + */ +- virtual RegexMatcher &appendReplacement(UText *dest, ++ RegexMatcher &appendReplacement(UText *dest, + UText *replacement, UErrorCode &status); + + +@@ -1520,7 +1520,7 @@ + * @return the destination string. + * @stable ICU 2.4 + */ +- virtual UnicodeString &appendTail(UnicodeString &dest); ++ UnicodeString &appendTail(UnicodeString &dest); + + + /** +@@ -1536,7 +1536,7 @@ + * + * @stable ICU 4.6 + */ +- virtual UText *appendTail(UText *dest, UErrorCode &status); ++ UText *appendTail(UText *dest, UErrorCode &status); + + + /** +@@ -1562,7 +1562,7 @@ + * @return The number of fields into which the input string was split. + * @stable ICU 2.6 + */ +- virtual int32_t split(const UnicodeString &input, ++ int32_t split(const UnicodeString &input, + UnicodeString dest[], + int32_t destCapacity, + UErrorCode &status); +@@ -1591,7 +1591,7 @@ + * + * @stable ICU 4.6 + */ +- virtual int32_t split(UText *input, ++ int32_t split(UText *input, + UText *dest[], + int32_t destCapacity, + UErrorCode &status); +@@ -1617,7 +1617,7 @@ + * @param status A reference to a UErrorCode to receive any errors. + * @stable ICU 4.0 + */ +- virtual void setTimeLimit(int32_t limit, UErrorCode &status); ++ void setTimeLimit(int32_t limit, UErrorCode &status); + + /** + * Get the time limit, if any, for match operations made with this Matcher. +@@ -1625,7 +1625,7 @@ + * @return the maximum allowed time for a match, in units of processing steps. + * @stable ICU 4.0 + */ +- virtual int32_t getTimeLimit() const; ++ int32_t getTimeLimit() const; + + /** + * Set the amount of heap storage available for use by the match backtracking stack. +@@ -1648,7 +1648,7 @@ + * + * @stable ICU 4.0 + */ +- virtual void setStackLimit(int32_t limit, UErrorCode &status); ++ void setStackLimit(int32_t limit, UErrorCode &status); + + /** + * Get the size of the heap storage available for use by the back tracking stack. +@@ -1657,7 +1657,7 @@ + * stack size is unlimited. + * @stable ICU 4.0 + */ +- virtual int32_t getStackLimit() const; ++ int32_t getStackLimit() const; + + + /** +@@ -1673,7 +1673,7 @@ + * @param status A reference to a UErrorCode to receive any errors. + * @stable ICU 4.0 + */ +- virtual void setMatchCallback(URegexMatchCallback *callback, ++ void setMatchCallback(URegexMatchCallback *callback, + const void *context, + UErrorCode &status); + +@@ -1688,7 +1688,7 @@ + * @param status A reference to a UErrorCode to receive any errors. + * @stable ICU 4.0 + */ +- virtual void getMatchCallback(URegexMatchCallback *&callback, ++ void getMatchCallback(URegexMatchCallback *&callback, + const void *&context, + UErrorCode &status); + +@@ -1706,7 +1706,7 @@ + * @param status A reference to a UErrorCode to receive any errors. + * @stable ICU 4.6 + */ +- virtual void setFindProgressCallback(URegexFindProgressCallback *callback, ++ void setFindProgressCallback(URegexFindProgressCallback *callback, + const void *context, + UErrorCode &status); + +@@ -1721,7 +1721,7 @@ + * @param status A reference to a UErrorCode to receive any errors. + * @stable ICU 4.6 + */ +- virtual void getFindProgressCallback(URegexFindProgressCallback *&callback, ++ void getFindProgressCallback(URegexFindProgressCallback *&callback, + const void *&context, + UErrorCode &status); + +--- source/i18n/unicode/tblcoll.h ++++ source/i18n/unicode/tblcoll.h +@@ -242,7 +242,7 @@ + * the based Collator. + * @stable ICU 2.2 + */ +- virtual CollationElementIterator* createCollationElementIterator( ++ CollationElementIterator* createCollationElementIterator( + const UnicodeString& source) const; + + /** +@@ -254,7 +254,7 @@ + * based Collator. + * @stable ICU 2.2 + */ +- virtual CollationElementIterator* createCollationElementIterator( ++ CollationElementIterator* createCollationElementIterator( + const CharacterIterator& source) const; + + // Make deprecated versions of Collator::compare() visible.