diff --git a/icu4c/as_is/os400/bldiculd.sh b/icu4c/as_is/os400/bldiculd.sh index 5b7f0e5bae6..710b6ff423d 100755 --- a/icu4c/as_is/os400/bldiculd.sh +++ b/icu4c/as_is/os400/bldiculd.sh @@ -1,3 +1,6 @@ #!/bin/sh -# /* Copyright (C) 2011 IBM Corporation and Others. All Rights Reserved */ +# /* Copyright (C) 2011-2012 IBM Corporation and Others. All Rights Reserved */ icc -o iculd iculd.c +icc -o cxxfilt cxxfilt.cpp + + diff --git a/icu4c/as_is/os400/cxxfilt.cpp b/icu4c/as_is/os400/cxxfilt.cpp new file mode 100644 index 00000000000..4cf49b7c9a9 --- /dev/null +++ b/icu4c/as_is/os400/cxxfilt.cpp @@ -0,0 +1,37 @@ +/* Copyright (C) 2012 IBM Corporation and Others. All Rights Reserved */ + +#include +#include + +void showSym(char *str) { + char *rest; + struct Name *name = Demangle(str, rest); // "f__1XFi" + + printf("# '%s'\n", str); + if(*rest) printf("\trest: '%s'\n", rest); + if(name->Kind() == MemberFunction) { + //((MemberFunctionName *) name)->Scope()->Text() is "X" + //((MemberFunctionName *) name)->RootName() is "f" + //((MemberFunctionName *) name)->Text() is "X::f(int)" + printf("\t=> %s\n", ((MemberFunctionName *) name)->Text()); + } else { + printf("\t(not MemberFunction)\n"); + } +} + + + + + +int main(int argc, /*const*/ char *argv[]) { + if(argc>1) { + for(int i=1;i ...\n", argv[0]); + } + + + +} diff --git a/icu4c/source/Makefile.in b/icu4c/source/Makefile.in index 2c3ae5dbb75..0f4b3e2420e 100644 --- a/icu4c/source/Makefile.in +++ b/icu4c/source/Makefile.in @@ -356,7 +356,7 @@ update-windows-makefiles: config.status # For building a source distribution. distcheck dist-local: - $(MAKE) -C . -f config/dist.mk srcdir="$(srcdir)" top_srcdir="$(top_srcdir)" $@ + $(MAKE) -C . -f $(top_srcdir)/config/dist.mk srcdir="$(srcdir)" top_srcdir="$(top_srcdir)" $@ ifeq ($(DESTDIR),) releaseDist: diff --git a/icu4c/source/common/dictbe.cpp b/icu4c/source/common/dictbe.cpp index ee927810022..15df9fb8dce 100644 --- a/icu4c/source/common/dictbe.cpp +++ b/icu4c/source/common/dictbe.cpp @@ -102,7 +102,7 @@ class PossibleWord { private: // list of word candidate lengths, in increasing length order int32_t lengths[POSSIBLE_WORD_LIST_MAX]; - int count; // Count of candidates + int32_t count; // Count of candidates int32_t prefix; // The longest match with a dictionary word int32_t offset; // Offset in the text of these candidates int mark; // The preferred candidate's offset @@ -840,15 +840,15 @@ CjkBreakEngine::divideUpDictionaryRange( UText *text, // Dynamic programming to find the best segmentation. bool is_prev_katakana = false; - for (int i = 0; i < numChars; ++i) { + for (int32_t i = 0; i < numChars; ++i) { //utext_setNativeIndex(text, rangeStart + i); utext_setNativeIndex(&normalizedText, i); if (bestSnlp[i] == kuint32max) continue; - int count; + int32_t count; // limit maximum word length matched to size of current substring - int maxSearchLength = (i + maxWordSize < (size_t) numChars)? maxWordSize : (numChars - i); + int32_t maxSearchLength = (i + maxWordSize < (size_t) numChars)? maxWordSize : (numChars - i); fDictionary->matches(&normalizedText, maxSearchLength, lengths.elems(), count, maxSearchLength, values.elems()); diff --git a/icu4c/source/i18n/zonemeta.cpp b/icu4c/source/i18n/zonemeta.cpp index 34cc484da9e..c689b816740 100644 --- a/icu4c/source/i18n/zonemeta.cpp +++ b/icu4c/source/i18n/zonemeta.cpp @@ -876,8 +876,8 @@ ZoneMeta::formatCustomID(uint8_t hour, uint8_t min, uint8_t sec, UBool negative, id.append((UChar)0x2B); // '+' } // Always use US-ASCII digits - id.append((UChar)0x30 + (hour%100)/10); - id.append((UChar)0x30 + (hour%10)); + id.append((UChar)(0x30 + (hour%100)/10)); + id.append((UChar)(0x30 + (hour%10))); id.append((UChar)0x3A); // ':' id.append((UChar)(0x30 + (min%100)/10)); id.append((UChar)(0x30 + (min%10)));