avoid mismatched expectation <-> int types for C++ builds
Gurusamy Sarathy [Thu, 9 Dec 1999 01:14:46 +0000 (01:14 +0000)]
p4raw-id: //depot/perl@4672

embed.pl
intrpvar.h
proto.h
toke.c

index d3eee2d..3ff4597 100755 (executable)
--- a/embed.pl
+++ b/embed.pl
@@ -2141,7 +2141,7 @@ s |void   |force_ident    |char *s|int kind
 s      |void   |incline        |char *s
 s      |int    |intuit_method  |char *s|GV *gv
 s      |int    |intuit_more    |char *s
-s      |I32    |lop            |I32 f|expectation x|char *s
+s      |I32    |lop            |I32 f|int x|char *s
 s      |void   |missingterm    |char *s
 s      |void   |no_op          |char *what|char *s
 s      |void   |set_csh
index dbf725f..3e2c563 100644 (file)
@@ -234,7 +234,7 @@ PERLVAR(Icshlen,    I32)
 
 PERLVAR(Ilex_state,    U32)            /* next token is determined */
 PERLVAR(Ilex_defer,    U32)            /* state after determined token */
-PERLVAR(Ilex_expect,   expectation)    /* expect after determined token */
+PERLVAR(Ilex_expect,   int)            /* expect after determined token */
 PERLVAR(Ilex_brackets, I32)            /* bracket count */
 PERLVAR(Ilex_formbrack,        I32)            /* bracket count at outer format level */
 PERLVAR(Ilex_casemods, I32)            /* casemod count */
@@ -258,7 +258,7 @@ PERLVAR(Ibufptr,    char *)
 PERLVAR(Ioldbufptr,    char *)
 PERLVAR(Ioldoldbufptr, char *)
 PERLVAR(Ibufend,       char *)
-PERLVARI(Iexpect,expectation,  XSTATE) /* how to interpret ambiguous tokens */
+PERLVARI(Iexpect,int,  XSTATE)         /* how to interpret ambiguous tokens */
 
 PERLVAR(Imulti_start,  I32)            /* 1st line of multi-line string */
 PERLVAR(Imulti_end,    I32)            /* last line of multi-line string */
diff --git a/proto.h b/proto.h
index 9c4dd16..b8c0199 100644 (file)
--- a/proto.h
+++ b/proto.h
@@ -1068,7 +1068,7 @@ STATIC void       S_force_ident(pTHX_ char *s, int kind);
 STATIC void    S_incline(pTHX_ char *s);
 STATIC int     S_intuit_method(pTHX_ char *s, GV *gv);
 STATIC int     S_intuit_more(pTHX_ char *s);
-STATIC I32     S_lop(pTHX_ I32 f, expectation x, char *s);
+STATIC I32     S_lop(pTHX_ I32 f, int x, char *s);
 STATIC void    S_missingterm(pTHX_ char *s);
 STATIC void    S_no_op(pTHX_ char *what, char *s);
 STATIC void    S_set_csh(pTHX);
diff --git a/toke.c b/toke.c
index 2acfec9..57e263f 100644 (file)
--- a/toke.c
+++ b/toke.c
@@ -672,7 +672,7 @@ S_uni(pTHX_ I32 f, char *s)
  */
 
 STATIC I32
-S_lop(pTHX_ I32 f, expectation x, char *s)
+S_lop(pTHX_ I32 f, int x, char *s)
 {
     dTHR;
     yylval.ival = f;
@@ -5707,7 +5707,7 @@ S_scan_ident(pTHX_ register char *s, register char *send, char *dest, STRLEN des
                        funny, dest, brack, funny, dest, brack);
                }
                bracket++;
-               PL_lex_brackstack[PL_lex_brackets++] = XOPERATOR | XFAKEBRACK;
+               PL_lex_brackstack[PL_lex_brackets++] = (char)(XOPERATOR | XFAKEBRACK);
                return s;
            }
        }