ICU-5552 Compiler optimization fixes for some versions of gcc. This patch allows the regular expression tests to pass.

X-SVN-Rev: 20846
This commit is contained in:
George Rhoten 2007-01-03 23:06:36 +00:00
parent 5cc965858d
commit b3cdbd8f8d
2 changed files with 6 additions and 9 deletions

View File

@ -2,7 +2,7 @@
//
// file: regexcmp.cpp
//
// Copyright (C) 2002-2006 International Business Machines Corporation and others.
// Copyright (C) 2002-2007 International Business Machines Corporation and others.
// All Rights Reserved.
//
// This file contains the ICU regular expression compiler, which is responsible
@ -190,7 +190,7 @@ void RegexCompile::compile(
// 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.
@ -320,7 +320,7 @@ void RegexCompile::compile(
//
//
//------------------------------------------------------------------------------
UBool RegexCompile::doParseActions(EParseAction action)
UBool RegexCompile::doParseActions(int32_t action)
{
UBool returnVal = TRUE;
@ -341,7 +341,7 @@ UBool RegexCompile::doParseActions(EParseAction action)
// Standard open nonCapture paren action emits the two NOPs and
// sets up the paren stack frame.
doParseActions((EParseAction)doOpenNonCaptureParen);
doParseActions(doOpenNonCaptureParen);
break;
case doPatFinish:

View File

@ -1,7 +1,7 @@
//
// regexcmp.h
//
// Copyright (C) 2002-2005, International Business Machines Corporation and others.
// Copyright (C) 2002-2007, International Business Machines Corporation and others.
// All Rights Reserved.
//
// This file contains declarations for the class RegexCompile
@ -38,9 +38,6 @@ static const int kStackSize = 100; // The size of the state sta
// 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 @@ public:
private:
UBool doParseActions(EParseAction a);
UBool doParseActions(int32_t a);
void error(UErrorCode e); // error reporting convenience function.
UChar32 nextCharLL();