* updated ICU bep and patch to match ICU packages dated 2010-07-26

This commit is contained in:
Oliver Tappe
2010-07-26 22:45:37 +00:00
parent c6f8968407
commit 92c6d446c1
2 changed files with 326 additions and 125 deletions

View File

@@ -7,7 +7,7 @@ STATUS_HAIKU="stable"
DEPEND=""
BUILD {
cd icu/source
./configure --prefix=/boot/common
CPPFLAGS="-D__STDC_ISO_10646__ -DU_CHARSET_IS_UTF8=1" ./configure --prefix=/boot/common
make
}

View File

@@ -1,6 +1,19 @@
diff -urN icu/source/common/normalizer2.cpp icu-haiku/source/common/normalizer2.cpp
--- icu/source/common/normalizer2.cpp 2010-04-28 15:27:38.056098816 +0000
+++ icu-haiku/source/common/normalizer2.cpp 2010-07-14 15:41:18.000000000 +0000
diff -ruwN icu/source/aclocal.m4 icu-haiku/source/aclocal.m4
--- icu/source/aclocal.m4 2010-04-28 17:28:54.011796480 +0200
+++ icu-haiku/source/aclocal.m4 2010-07-26 14:35:01.820248576 +0200
@@ -59,7 +59,8 @@
*-*-os400*) icu_cv_host_frag=mh-os400 ;;
*-apple-rhapsody*) icu_cv_host_frag=mh-darwin ;;
*-apple-darwin*) icu_cv_host_frag=mh-darwin ;;
-*-*-beos|*-*-haiku) icu_cv_host_frag=mh-beos ;;
+*-*-beos) icu_cv_host_frag=mh-beos ;;
+*-*-haiku) icu_cv_host_frag=mh-haiku ;;
*-*-irix*) icu_cv_host_frag=mh-irix ;;
*-dec-osf*) icu_cv_host_frag=mh-alpha-osf ;;
*-*-nto*) icu_cv_host_frag=mh-qnx ;;
diff -ruwN icu/source/common/normalizer2.cpp icu-haiku/source/common/normalizer2.cpp
--- icu/source/common/normalizer2.cpp 2010-04-28 17:27:38.044040192 +0200
+++ icu-haiku/source/common/normalizer2.cpp 2010-07-26 19:29:38.945553408 +0200
@@ -221,7 +221,7 @@
ReorderingBuffer &buffer, UErrorCode &errorCode) const {
impl.decompose(src, limit, &buffer, errorCode);
@@ -55,240 +68,437 @@ diff -urN icu/source/common/normalizer2.cpp icu-haiku/source/common/normalizer2.
virtual UBool hasBoundaryBefore(UChar32 c) const { return impl.hasFCDBoundaryBefore(c); }
virtual UBool hasBoundaryAfter(UChar32 c) const { return impl.hasFCDBoundaryAfter(c); }
virtual UBool isInert(UChar32 c) const { return impl.isFCDInert(c); }
diff -urN icu/source/i18n/currfmt.h icu-haiku/source/i18n/currfmt.h
--- icu/source/i18n/currfmt.h 2010-04-28 15:27:08.035127296 +0000
+++ icu-haiku/source/i18n/currfmt.h 2010-07-14 15:41:18.000000000 +0000
@@ -63,7 +63,7 @@
diff -ruwN icu/source/config/mh-haiku icu-haiku/source/config/mh-haiku
--- icu/source/config/mh-haiku 1970-01-01 01:00:00.000000000 +0100
+++ icu-haiku/source/config/mh-haiku 2010-07-26 21:54:15.739246080 +0200
@@ -0,0 +1,82 @@
+## -*-makefile-*-
+## haiku-specific setup
+## Copyright (c) 2009, International Business Machines Corporation and
+## others. All Rights Reserved.
+##
+
+## Commands to generate dependency files
+GEN_DEPS.c= $(CC) -E -MM $(DEFS) $(CPPFLAGS)
+GEN_DEPS.cc= $(CXX) -E -MM $(DEFS) $(CPPFLAGS)
+
+## Flags for position independent code
+SHAREDLIBCFLAGS = -fPIC
+SHAREDLIBCXXFLAGS = -fPIC
+SHAREDLIBCPPFLAGS = -DPIC
+
+## Additional flags when building libraries and with threads
+LIBCPPFLAGS =
+THREADSCPPFLAGS =
+
+## These are the library specific LDFLAGS
+LDFLAGSICUDT=-nodefaultlibs -nostdlib
+
+## Compiler switch to embed a runtime search path
+LD_RPATH=
+LD_RPATH_PRE = -Wl,-rpath,
+
+## Compiler switch to embed a library name
+LD_SONAME = -Wl,-soname -Wl,$(notdir $(MIDDLE_SO_TARGET))
+
+## Shared library options
+LD_SOOPTIONS= -Wl,-Bsymbolic
+
+## Shared object suffix
+SO = so
+## Non-shared intermediate object suffix
+STATIC_O = ao
+
+## Compilation rules
+%.$(STATIC_O): $(srcdir)/%.c
+ $(COMPILE.c) $(STATICCPPFLAGS) $(STATICCFLAGS) -o $@ $<
+%.o: $(srcdir)/%.c
+ $(COMPILE.c) $(DYNAMICCPPFLAGS) $(DYNAMICCFLAGS) -o $@ $<
+
+%.$(STATIC_O): $(srcdir)/%.cpp
+ $(COMPILE.cc) $(STATICCPPFLAGS) $(STATICCXXFLAGS) -o $@ $<
+%.o: $(srcdir)/%.cpp
+ $(COMPILE.cc) $(DYNAMICCPPFLAGS) $(DYNAMICCXXFLAGS) -o $@ $<
+
+
+## Dependency rules
+%.d: $(srcdir)/%.c
+ @echo "generating dependency information for $<"
+ @$(SHELL) -ec '$(GEN_DEPS.c) $< \
+ | sed '\''s%\($*\)\.o[ :]*%\1.o $@ : %g'\'' > $@; \
+ [ -s $@ ] || rm -f $@'
+
+%.d: $(srcdir)/%.cpp
+ @echo "generating dependency information for $<"
+ @$(SHELL) -ec '$(GEN_DEPS.cc) $< \
+ | sed '\''s%\($*\)\.o[ :]*%\1.o $@ : %g'\'' > $@; \
+ [ -s $@ ] || rm -f $@'
+
+## Versioned libraries rules
+
+%.$(SO).$(SO_TARGET_VERSION_MAJOR): %.$(SO).$(SO_TARGET_VERSION)
+ $(RM) $@ && ln -s ${<F} $@
+%.$(SO): %.$(SO).$(SO_TARGET_VERSION_MAJOR)
+ $(RM) $@ && ln -s ${*F}.$(SO).$(SO_TARGET_VERSION) $@
+
+## Bind internal references
+
+# LDflags that pkgdata will use
+BIR_LDFLAGS= -Wl,-Bsymbolic
+
+# Dependencies [i.e. map files] for the final library
+BIR_DEPS=
+
+# Use LIBRARY_PATH instead of LD_LIBRARY_PATH
+LDLIBRARYPATH_ENVVAR= LIBRARY_PATH
+
+## End haiku-specific setup
+
diff -ruwN icu/source/configure icu-haiku/source/configure
--- icu/source/configure 2010-04-28 17:28:54.051904512 +0200
+++ icu-haiku/source/configure 2010-07-26 17:24:25.573308928 +0200
@@ -5501,7 +5501,8 @@
*-*-os400*) icu_cv_host_frag=mh-os400 ;;
*-apple-rhapsody*) icu_cv_host_frag=mh-darwin ;;
*-apple-darwin*) icu_cv_host_frag=mh-darwin ;;
-*-*-beos|*-*-haiku) icu_cv_host_frag=mh-beos ;;
+*-*-beos) icu_cv_host_frag=mh-beos ;;
+*-*-haiku) icu_cv_host_frag=mh-haiku ;;
*-*-irix*) icu_cv_host_frag=mh-irix ;;
*-dec-osf*) icu_cv_host_frag=mh-alpha-osf ;;
*-*-nto*) icu_cv_host_frag=mh-qnx ;;
@@ -11425,6 +11426,7 @@
*-*-nto*) platform=U_QNX ;;
*-dec-osf*) platform=U_OSF ;;
*-*-beos) platform=U_BEOS ;;
+ *-*-haiku) platform=U_HAIKU ;;
*-*-irix*) platform=U_IRIX ;;
*-ncr-*) platform=U_MPRAS ;;
*) platform=U_UNKNOWN_PLATFORM ;;
diff -ruwN icu/source/configure.in icu-haiku/source/configure.in
--- icu/source/configure.in 2010-04-28 17:28:54.012845056 +0200
+++ icu-haiku/source/configure.in 2010-07-26 17:23:17.328728576 +0200
@@ -1230,6 +1230,7 @@
*-*-nto*) platform=U_QNX ;;
*-dec-osf*) platform=U_OSF ;;
*-*-beos) platform=U_BEOS ;;
+ *-*-haiku) platform=U_HAIKU ;;
*-*-irix*) platform=U_IRIX ;;
*-ncr-*) platform=U_MPRAS ;;
*) platform=U_UNKNOWN_PLATFORM ;;
diff -ruwN icu/source/i18n/currfmt.h icu-haiku/source/i18n/currfmt.h
--- icu/source/i18n/currfmt.h 2010-04-28 17:27:08.025427968 +0200
+++ icu-haiku/source/i18n/currfmt.h 2010-07-26 19:08:17.175636480 +0200
@@ -63,7 +63,9 @@
virtual Format* clone() const;
- using MeasureFormat::format;
+ // using MeasureFormat::format;
+#if (__GNUC__ != 2)
using MeasureFormat::format;
+#endif
/**
* Override Format API.
diff -urN icu/source/i18n/digitlst.cpp icu-haiku/source/i18n/digitlst.cpp
--- icu/source/i18n/digitlst.cpp 2010-04-28 15:27:10.052953088 +0000
+++ icu-haiku/source/i18n/digitlst.cpp 2010-07-14 15:41:18.000000000 +0000
@@ -36,7 +36,7 @@
diff -ruwN icu/source/i18n/digitlst.cpp icu-haiku/source/i18n/digitlst.cpp
--- icu/source/i18n/digitlst.cpp 2010-04-28 17:27:10.042467328 +0200
+++ icu-haiku/source/i18n/digitlst.cpp 2010-07-26 19:06:02.309329920 +0200
@@ -36,7 +36,9 @@
#include <limits.h>
#include <string.h>
#include <stdio.h>
-#include <limits>
+// #include <limits>
+#if (__GNUC__ != 2)
#include <limits>
+#endif
// ***************************************************************************
// class DigitList
@@ -399,11 +399,13 @@
@@ -399,11 +401,15 @@
nonConstThis->fDouble /= -1;
}
} else if (isInfinite()) {
+ /*
+#if (__GNUC__ != 2)
if (std::numeric_limits<double>::has_infinity) {
nonConstThis->fDouble = std::numeric_limits<double>::infinity();
} else {
nonConstThis->fDouble = std::numeric_limits<double>::max();
- }
+ }*/
}
+#else
+ nonConstThis->fDouble = DBL_MAX;
+#endif
if (!isPositive()) {
nonConstThis->fDouble = -fDouble;
}
diff -urN icu/source/i18n/reldtfmt.h icu-haiku/source/i18n/reldtfmt.h
--- icu/source/i18n/reldtfmt.h 2010-04-28 15:27:10.059768832 +0000
+++ icu-haiku/source/i18n/reldtfmt.h 2010-07-14 15:41:18.000000000 +0000
@@ -78,7 +78,7 @@
diff -ruwN icu/source/i18n/reldtfmt.h icu-haiku/source/i18n/reldtfmt.h
--- icu/source/i18n/reldtfmt.h 2010-04-28 17:27:10.049283072 +0200
+++ icu-haiku/source/i18n/reldtfmt.h 2010-07-26 19:08:52.212074496 +0200
@@ -78,7 +78,9 @@
virtual UBool operator==(const Format& other) const;
- using DateFormat::format;
+ // using DateFormat::format;
+#if (__GNUC__ != 2)
using DateFormat::format;
+#endif
/**
* Format a date or time, which is the standard millis since 24:00 GMT, Jan
diff -urN icu/source/i18n/unicode/choicfmt.h icu-haiku/source/i18n/unicode/choicfmt.h
--- icu/source/i18n/unicode/choicfmt.h 2010-04-28 15:27:04.047710208 +0000
+++ icu-haiku/source/i18n/unicode/choicfmt.h 2010-07-14 15:41:18.000000000 +0000
@@ -441,7 +441,7 @@
diff -ruwN icu/source/i18n/smpdtfmt.cpp icu-haiku/source/i18n/smpdtfmt.cpp
--- icu/source/i18n/smpdtfmt.cpp 2010-04-28 17:27:08.050855936 +0200
+++ icu-haiku/source/i18n/smpdtfmt.cpp 2010-07-26 14:35:01.834142208 +0200
@@ -1054,7 +1054,7 @@
int32_t
SimpleDateFormat::parseGMTDefault(const UnicodeString &text, ParsePosition &pos) const {
int32_t start = pos.getIndex();
- NumberFormat *currentNumberFormat = getNumberFormat(UDAT_TIMEZONE_RFC_FIELD);
+ NumberFormat *currentNumberFormat = getNumberFormatByIndex(UDAT_TIMEZONE_RFC_FIELD);
if (start + kUtLen + 1 >= text.length()) {
pos.setErrorIndex(start);
@@ -1465,7 +1465,7 @@
return;
}
- currentNumberFormat = getNumberFormat(patternCharIndex);
+ currentNumberFormat = getNumberFormatByIndex(patternCharIndex);
switch (patternCharIndex) {
// for any "G" symbol, write out the appropriate era string
@@ -1730,7 +1730,7 @@
//----------------------------------------------------------------------
NumberFormat *
-SimpleDateFormat::getNumberFormat(UDateFormatField index) const {
+SimpleDateFormat::getNumberFormatByIndex(UDateFormatField index) const {
if (fNumberFormatters != NULL) {
return fNumberFormatters[index];
} else {
@@ -2365,7 +2365,7 @@
}
patternCharIndex = (UDateFormatField)(patternCharPtr - DateFormatSymbols::getPatternUChars());
- currentNumberFormat = getNumberFormat(patternCharIndex);
+ currentNumberFormat = getNumberFormatByIndex(patternCharIndex);
UCalendarDateFields field = fgPatternIndexToCalendarField[patternCharIndex];
// If there are any spaces here, skip over them. If we hit the end
diff -ruwN icu/source/i18n/unicode/choicfmt.h icu-haiku/source/i18n/unicode/choicfmt.h
--- icu/source/i18n/unicode/choicfmt.h 2010-04-28 17:27:04.037486592 +0200
+++ icu-haiku/source/i18n/unicode/choicfmt.h 2010-07-26 18:59:35.882114560 +0200
@@ -441,7 +441,9 @@
virtual const UnicodeString* getFormats(int32_t& count) const;
- using NumberFormat::format;
+ // using NumberFormat::format;
+#if (__GNUC__ != 2)
using NumberFormat::format;
+#endif
/**
* Format a double or long number using this object's choices.
diff -urN icu/source/i18n/unicode/datefmt.h icu-haiku/source/i18n/unicode/datefmt.h
--- icu/source/i18n/unicode/datefmt.h 2010-04-28 15:27:04.046923776 +0000
+++ icu-haiku/source/i18n/unicode/datefmt.h 2010-07-14 15:41:18.000000000 +0000
@@ -212,7 +212,7 @@
diff -ruwN icu/source/i18n/unicode/datefmt.h icu-haiku/source/i18n/unicode/datefmt.h
--- icu/source/i18n/unicode/datefmt.h 2010-04-28 17:27:04.036962304 +0200
+++ icu-haiku/source/i18n/unicode/datefmt.h 2010-07-26 18:57:27.439615488 +0200
@@ -212,7 +212,9 @@
virtual UBool operator==(const Format&) const;
- using Format::format;
+ // using Format::format;
+#if (__GNUC__ != 2)
using Format::format;
+#endif
/**
* Format an object to produce a string. This method handles Formattable
diff -urN icu/source/i18n/unicode/decimfmt.h icu-haiku/source/i18n/unicode/decimfmt.h
--- icu/source/i18n/unicode/decimfmt.h 2010-04-28 15:27:04.042205184 +0000
+++ icu-haiku/source/i18n/unicode/decimfmt.h 2010-07-14 15:41:18.000000000 +0000
@@ -824,7 +824,7 @@
diff -ruwN icu/source/i18n/unicode/decimfmt.h icu-haiku/source/i18n/unicode/decimfmt.h
--- icu/source/i18n/unicode/decimfmt.h 2010-04-28 17:27:04.032505856 +0200
+++ icu-haiku/source/i18n/unicode/decimfmt.h 2010-07-26 21:37:12.587202560 +0200
@@ -824,7 +824,16 @@
virtual UBool operator==(const Format& other) const;
- using NumberFormat::format;
+ // using NumberFormat::format;
+#if (__GNUC__ != 2)
using NumberFormat::format;
+#else
+ virtual UnicodeString& format(const Formattable& obj,
+ UnicodeString& appendTo,
+ FieldPositionIterator* posIter,
+ UErrorCode& status) const {
+ return NumberFormat::format(obj, appendTo, posIter, status);
+ }
+#endif
/**
* Format a double or long number using base-10 representation.
diff -urN icu/source/i18n/unicode/dtitvfmt.h icu-haiku/source/i18n/unicode/dtitvfmt.h
--- icu/source/i18n/unicode/dtitvfmt.h 2010-04-28 15:27:04.046661632 +0000
+++ icu-haiku/source/i18n/unicode/dtitvfmt.h 2010-07-14 15:41:18.000000000 +0000
@@ -363,7 +363,7 @@
diff -ruwN icu/source/i18n/unicode/dtitvfmt.h icu-haiku/source/i18n/unicode/dtitvfmt.h
--- icu/source/i18n/unicode/dtitvfmt.h 2010-04-28 17:27:04.036700160 +0200
+++ icu-haiku/source/i18n/unicode/dtitvfmt.h 2010-07-26 19:12:22.191627264 +0200
@@ -363,7 +363,9 @@
UBool operator!=(const Format& other) const;
- using Format::format;
+ // using Format::format;
+#if (__GNUC__ != 2)
using Format::format;
+#endif
/**
* Format an object to produce a string. This method handles Formattable
diff -urN icu/source/i18n/unicode/msgfmt.h icu-haiku/source/i18n/unicode/msgfmt.h
--- icu/source/i18n/unicode/msgfmt.h 2010-04-28 15:27:04.043515904 +0000
+++ icu-haiku/source/i18n/unicode/msgfmt.h 2010-07-14 15:41:18.000000000 +0000
@@ -584,7 +584,7 @@
diff -ruwN icu/source/i18n/unicode/msgfmt.h icu-haiku/source/i18n/unicode/msgfmt.h
--- icu/source/i18n/unicode/msgfmt.h 2010-04-28 17:27:04.033554432 +0200
+++ icu-haiku/source/i18n/unicode/msgfmt.h 2010-07-26 18:57:58.825753600 +0200
@@ -584,7 +584,9 @@
virtual const Format** getFormats(int32_t& count) const;
- using Format::format;
+ // using Format::format;
+#if (__GNUC__ != 2)
using Format::format;
+#endif
/**
* Formats the given array of arguments into a user-readable string.
diff -urN icu/source/i18n/unicode/numfmt.h icu-haiku/source/i18n/unicode/numfmt.h
--- icu/source/i18n/unicode/numfmt.h 2010-04-28 15:27:04.047185920 +0000
+++ icu-haiku/source/i18n/unicode/numfmt.h 2010-07-14 15:41:18.000000000 +0000
@@ -235,7 +235,7 @@
diff -ruwN icu/source/i18n/unicode/numfmt.h icu-haiku/source/i18n/unicode/numfmt.h
--- icu/source/i18n/unicode/numfmt.h 2010-04-28 17:27:04.037224448 +0200
+++ icu-haiku/source/i18n/unicode/numfmt.h 2010-07-26 18:54:07.820510720 +0200
@@ -234,8 +234,9 @@
*/
virtual UBool operator==(const Format& other) const;
- using Format::format;
+ // using Format::format;
-
+#if (__GNUC__ != 2)
using Format::format;
+#endif
/**
* Format an object to produce a string. This method handles
diff -urN icu/source/i18n/unicode/plurfmt.h icu-haiku/source/i18n/unicode/plurfmt.h
--- icu/source/i18n/unicode/plurfmt.h 2010-04-28 15:27:04.041943040 +0000
+++ icu-haiku/source/i18n/unicode/plurfmt.h 2010-07-14 15:41:18.000000000 +0000
@@ -308,7 +308,7 @@
diff -ruwN icu/source/i18n/unicode/plurfmt.h icu-haiku/source/i18n/unicode/plurfmt.h
--- icu/source/i18n/unicode/plurfmt.h 2010-04-28 17:27:04.031981568 +0200
+++ icu-haiku/source/i18n/unicode/plurfmt.h 2010-07-26 19:00:08.335282176 +0200
@@ -308,7 +308,9 @@
void applyPattern(const UnicodeString& pattern, UErrorCode& status);
- using Format::format;
+ // using Format::format;
+#if (__GNUC__ != 2)
using Format::format;
+#endif
/**
* Formats a plural message for a given number.
diff -urN icu/source/i18n/unicode/rbnf.h icu-haiku/source/i18n/unicode/rbnf.h
--- icu/source/i18n/unicode/rbnf.h 2010-04-28 15:27:04.050069504 +0000
+++ icu-haiku/source/i18n/unicode/rbnf.h 2010-07-14 15:41:18.000000000 +0000
@@ -722,7 +722,7 @@
diff -ruwN icu/source/i18n/unicode/rbnf.h icu-haiku/source/i18n/unicode/rbnf.h
--- icu/source/i18n/unicode/rbnf.h 2010-04-28 17:27:04.039845888 +0200
+++ icu-haiku/source/i18n/unicode/rbnf.h 2010-07-26 19:01:11.091226112 +0200
@@ -722,7 +722,9 @@
const Locale& locale = Locale::getDefault());
- using NumberFormat::format;
+ // using NumberFormat::format;
+#if (__GNUC__ != 2)
using NumberFormat::format;
+#endif
/**
* Formats the specified 32-bit number using the default ruleset.
diff -urN icu/source/i18n/unicode/selfmt.h icu-haiku/source/i18n/unicode/selfmt.h
--- icu/source/i18n/unicode/selfmt.h 2010-04-28 15:27:04.049807360 +0000
+++ icu-haiku/source/i18n/unicode/selfmt.h 2010-07-14 15:41:18.000000000 +0000
@@ -220,7 +220,7 @@
diff -ruwN icu/source/i18n/unicode/selfmt.h icu-haiku/source/i18n/unicode/selfmt.h
--- icu/source/i18n/unicode/selfmt.h 2010-04-28 17:27:04.039583744 +0200
+++ icu-haiku/source/i18n/unicode/selfmt.h 2010-07-26 19:00:39.130547712 +0200
@@ -220,7 +220,9 @@
void applyPattern(const UnicodeString& pattern, UErrorCode& status);
- using Format::format;
+ // using Format::format;
+#if (__GNUC__ != 2)
using Format::format;
+#endif
/**
* Selects the phrase for the given keyword
diff -urN icu/source/i18n/unicode/smpdtfmt.h icu-haiku/source/i18n/unicode/smpdtfmt.h
--- icu/source/i18n/unicode/smpdtfmt.h 2010-04-28 15:27:04.044564480 +0000
+++ icu-haiku/source/i18n/unicode/smpdtfmt.h 2010-07-14 15:41:18.000000000 +0000
@@ -368,7 +368,7 @@
diff -ruwN icu/source/i18n/unicode/smpdtfmt.h icu-haiku/source/i18n/unicode/smpdtfmt.h
--- icu/source/i18n/unicode/smpdtfmt.h 2010-04-28 17:27:04.034603008 +0200
+++ icu-haiku/source/i18n/unicode/smpdtfmt.h 2010-07-26 18:58:52.592969728 +0200
@@ -368,7 +368,9 @@
virtual UBool operator==(const Format& other) const;
- using DateFormat::format;
+ // using DateFormat::format;
+#if (__GNUC__ != 2)
using DateFormat::format;
+#endif
/**
* Format a date or time, which is the standard millis since 24:00 GMT, Jan
@@ -1021,7 +1021,7 @@
@@ -1021,8 +1023,7 @@
/**
* Get the numbering system to be used for a particular field.
*/
- using DateFormat::getNumberFormat; // Do not hide visibility of base class function
+ // using DateFormat::getNumberFormat; // Do not hide visibility of base class function
NumberFormat * getNumberFormat(UDateFormatField index) const;
- NumberFormat * getNumberFormat(UDateFormatField index) const;
+ NumberFormat * getNumberFormatByIndex(UDateFormatField index) const;
/**
diff -urN icu/source/i18n/unicode/tmutfmt.h icu-haiku/source/i18n/unicode/tmutfmt.h
--- icu/source/i18n/unicode/tmutfmt.h 2010-04-28 15:27:04.047448064 +0000
+++ icu-haiku/source/i18n/unicode/tmutfmt.h 2010-07-14 15:41:18.000000000 +0000
@@ -164,7 +164,7 @@
* Parse the given override string and set up structures for number formats
diff -ruwN icu/source/i18n/unicode/tmutfmt.h icu-haiku/source/i18n/unicode/tmutfmt.h
--- icu/source/i18n/unicode/tmutfmt.h 2010-04-28 17:27:04.037486592 +0200
+++ icu-haiku/source/i18n/unicode/tmutfmt.h 2010-07-26 21:37:12.592969728 +0200
@@ -164,7 +164,16 @@
void setNumberFormat(const NumberFormat& format, UErrorCode& status);
- using MeasureFormat::format;
+ // using MeasureFormat::format;
+#if (__GNUC__ != 2)
using MeasureFormat::format;
+#else
+ virtual UnicodeString& format(const Formattable& obj,
+ UnicodeString& appendTo,
+ FieldPositionIterator* posIter,
+ UErrorCode& status) const {
+ return Format::format(obj, appendTo, posIter, status);
+ }
+#endif
/**
* Format a TimeUnitAmount.
diff -urN icu/source/i18n/uspoof_conf.cpp icu-haiku/source/i18n/uspoof_conf.cpp
--- icu/source/i18n/uspoof_conf.cpp 2010-04-28 15:27:08.060555264 +0000
+++ icu-haiku/source/i18n/uspoof_conf.cpp 2010-07-14 15:41:18.000000000 +0000
@@ -106,8 +106,8 @@
diff -ruwN icu/source/i18n/uspoof_conf.cpp icu-haiku/source/i18n/uspoof_conf.cpp
--- icu/source/i18n/uspoof_conf.cpp 2010-04-28 17:27:08.050069504 +0200
+++ icu-haiku/source/i18n/uspoof_conf.cpp 2010-07-26 19:15:22.253231104 +0200
@@ -106,8 +106,10 @@
// Conforms to the type signature for a USortComparator in uvector.h
static int8_t U_CALLCONV SPUStringCompare(UHashTok left, UHashTok right) {
- const SPUString *sL = static_cast<const SPUString *>(left.pointer);
- const SPUString *sR = static_cast<const SPUString *>(right.pointer);
+ const SPUString *sL = reinterpret_cast<const SPUString *>(left.pointer);
+ const SPUString *sR = reinterpret_cast<const SPUString *>(right.pointer);
+ const SPUString *sL = const_cast<const SPUString *>(
+ static_cast<SPUString *>(left.pointer));
+ const SPUString *sR = const_cast<const SPUString *>(
+ static_cast<SPUString *>(right.pointer));
int32_t lenL = sL->fStr->length();
int32_t lenR = sR->fStr->length();
if (lenL < lenR) {
diff -urN icu/source/io/unicode/ustream.h icu-haiku/source/io/unicode/ustream.h
--- icu/source/io/unicode/ustream.h 2010-04-28 15:27:52.022544384 +0000
+++ icu-haiku/source/io/unicode/ustream.h 2010-07-15 05:27:14.671350784 +0000
@@ -27,8 +27,7 @@
diff -ruwN icu/source/io/unicode/ustream.h icu-haiku/source/io/unicode/ustream.h
--- icu/source/io/unicode/ustream.h 2010-04-28 17:27:52.013369344 +0200
+++ icu-haiku/source/io/unicode/ustream.h 2010-07-26 14:35:01.843055104 +0200
@@ -27,8 +27,13 @@
*/
#if U_IOSTREAM_SOURCE >= 199711
-#include <istream>
-#include <ostream>
+
+#if (__GNUC__ == 2)
+#include <iostream>
+#else
#include <istream>
#include <ostream>
+#endif
U_NAMESPACE_BEGIN
diff -urN icu/source/tools/gennorm2/n2builder.cpp icu-haiku/source/tools/gennorm2/n2builder.cpp
--- icu/source/tools/gennorm2/n2builder.cpp 2010-04-28 15:27:42.064225280 +0000
+++ icu-haiku/source/tools/gennorm2/n2builder.cpp 2010-07-14 15:50:05.000000000 +0000
@@ -674,7 +674,7 @@
diff -ruwN icu/source/tools/gennorm2/n2builder.cpp icu-haiku/source/tools/gennorm2/n2builder.cpp
--- icu/source/tools/gennorm2/n2builder.cpp 2010-04-28 17:27:42.052953088 +0200
+++ icu-haiku/source/tools/gennorm2/n2builder.cpp 2010-07-26 19:18:33.715390976 +0200
@@ -674,7 +674,11 @@
}
int32_t length=p->compositions->size();
for(int32_t i=0; i<length; ++i) {
- CompositionPair &pair=p->compositions->at(i);
+#if (__GNUC__ == 2)
+ CompositionPair &pair=(*p->compositions)[i];
+#else
CompositionPair &pair=p->compositions->at(i);
+#endif
// 22 bits for the composite character and whether it combines forward.
UChar32 compositeAndFwd=pair.composite<<1;
if(getNormRef(pair.composite).compositions!=NULL) {
diff -urN icu/source/tools/pkgdata/pkgdata.cpp icu-haiku/source/tools/pkgdata/pkgdata.cpp
--- icu/source/tools/pkgdata/pkgdata.cpp 2010-04-28 15:27:46.021233664 +0000
+++ icu-haiku/source/tools/pkgdata/pkgdata.cpp 2010-07-14 15:52:11.000000000 +0000
diff -ruwN icu/source/tools/pkgdata/pkgdata.cpp icu-haiku/source/tools/pkgdata/pkgdata.cpp
--- icu/source/tools/pkgdata/pkgdata.cpp 2010-04-28 17:27:46.008912896 +0200
+++ icu-haiku/source/tools/pkgdata/pkgdata.cpp 2010-07-26 18:30:06.726401024 +0200
@@ -472,7 +472,7 @@
}
@@ -298,12 +508,3 @@ diff -urN icu/source/tools/pkgdata/pkgdata.cpp icu-haiku/source/tools/pkgdata/pk
if (!specialHandling) {
#ifdef USING_CYGWIN
@@ -1154,7 +1154,7 @@
DATA_PREFIX_LENGTH
};
-const static char DATA_PREFIX[DATA_PREFIX_LENGTH][10] = {
+static const char DATA_PREFIX[DATA_PREFIX_LENGTH][10] = {
"brkitr",
"coll",
"curr",