diff options
author | Mikhail Teterin <mi@FreeBSD.org> | 2006-12-18 05:52:45 +0000 |
---|---|---|
committer | Mikhail Teterin <mi@FreeBSD.org> | 2006-12-18 05:52:45 +0000 |
commit | 45c58e688d2efb4448c712897650ee1f21d8ca47 (patch) | |
tree | 29a81571b671c45291646d8c90240d6c91d24636 /devel/icu | |
parent | 9e9429b8741c74635fa505a33b51aa99a22b8088 (diff) | |
download | ports-45c58e688d2efb4448c712897650ee1f21d8ca47.tar.gz ports-45c58e688d2efb4448c712897650ee1f21d8ca47.zip |
Work around the apparent bug in enum-to-enum casting in the 5.3 compiler
by using the int-to-enum casting instead. The port should now build on
5.3 and wherever else the self-tests were failing before.
Submitted to vendor.
Obtained from: Michael Cornelius
Notes
Notes:
svn path=/head/; revision=180055
Diffstat (limited to 'devel/icu')
-rw-r--r-- | devel/icu/files/patch-enum-bug | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/devel/icu/files/patch-enum-bug b/devel/icu/files/patch-enum-bug new file mode 100644 index 000000000000..4c254481a0dc --- /dev/null +++ b/devel/icu/files/patch-enum-bug @@ -0,0 +1,50 @@ +--- i18n/regexcmp.h Thu Oct 20 10:54:02 2005 ++++ i18n/regexcmp.h Mon Dec 11 13:42:54 2006 +@@ -38,9 +38,6 @@ + // to the depth of parentheses nesting + // that is allowed in the rules. + +-enum EParseAction {dummy01, dummy02}; // Placeholder enum for the specifier for +- // actions that are specified in the +- // rule parsing state table. + struct RegexTableEl; + class RegexPattern; + +@@ -83,7 +80,7 @@ + private: + + +- UBool doParseActions(EParseAction a); ++ UBool doParseActions(int a); + void error(UErrorCode e); // error reporting convenience function. + + UChar32 nextCharLL(); +--- i18n/regexcmp.cpp Wed Feb 1 22:37:14 2006 ++++ 118n/regexcmp.cpp Mon Dec 11 13:43:21 2006 +@@ -191,7 +191,7 @@ + // We've found the row of the state table that matches the current input + // character from the rules string. + // Perform any action specified by this row in the state table. +- if (doParseActions((EParseAction)tableEl->fAction) == FALSE) { ++ if (doParseActions(tableEl->fAction) == FALSE) { + // Break out of the state machine loop if the + // the action signalled some kind of error, or + // the action was to exit, occurs on normal end-of-rules-input. +@@ -321,7 +321,7 @@ + // + // + //------------------------------------------------------------------------------ +-UBool RegexCompile::doParseActions(EParseAction action) ++UBool RegexCompile::doParseActions(int action) + { + UBool returnVal = TRUE; + +@@ -342,7 +342,7 @@ + + // Standard open nonCapture paren action emits the two NOPs and + // sets up the paren stack frame. +- doParseActions((EParseAction)doOpenNonCaptureParen); ++ doParseActions(doOpenNonCaptureParen); + break; + + case doPatFinish: |