diff options
author | mi <mi@FreeBSD.org> | 2006-12-18 13:52:45 +0800 |
---|---|---|
committer | mi <mi@FreeBSD.org> | 2006-12-18 13:52:45 +0800 |
commit | 929d735eb0b6b64a4f6c80b536cf8c753973e21b (patch) | |
tree | 5cc12e59322d939be75a46a828a9eb97f72a7a7d /devel | |
parent | 08beb50616569bfa7f395472dad97ed789d52a96 (diff) | |
download | freebsd-ports-graphics-929d735eb0b6b64a4f6c80b536cf8c753973e21b.tar.gz freebsd-ports-graphics-929d735eb0b6b64a4f6c80b536cf8c753973e21b.tar.zst freebsd-ports-graphics-929d735eb0b6b64a4f6c80b536cf8c753973e21b.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
Diffstat (limited to 'devel')
-rw-r--r-- | devel/icu/files/patch-enum-bug | 50 | ||||
-rw-r--r-- | devel/icu4/files/patch-enum-bug | 50 |
2 files changed, 100 insertions, 0 deletions
diff --git a/devel/icu/files/patch-enum-bug b/devel/icu/files/patch-enum-bug new file mode 100644 index 00000000000..4c254481a0d --- /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: diff --git a/devel/icu4/files/patch-enum-bug b/devel/icu4/files/patch-enum-bug new file mode 100644 index 00000000000..4c254481a0d --- /dev/null +++ b/devel/icu4/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: |