Index: modules/pt/pt_cparam_config_critcl.tcl
==================================================================
--- modules/pt/pt_cparam_config_critcl.tcl
+++ modules/pt/pt_cparam_config_critcl.tcl
@@ -165,11 +165,11 @@
Tcl_SetAssocData (interp, KEY, proc,
(ClientData) parserg);
}
parserg->counter ++;
- sprintf (parserg->buf, "@@CTAIL@@%d", parserg->counter);
+ sprintf (parserg->buf, "@@CTAIL@@%ld", parserg->counter);
return parserg->buf;
#undef KEY
}
static void
Index: modules/pt/pt_cparam_config_tea.tcl
==================================================================
--- modules/pt/pt_cparam_config_tea.tcl
+++ modules/pt/pt_cparam_config_tea.tcl
@@ -129,11 +129,11 @@
Tcl_SetAssocData (interp, KEY, proc,
(ClientData) parserg);
}
parserg->counter ++;
- sprintf (parserg->buf, "@@CTAIL@@%d", parserg->counter);
+ sprintf (parserg->buf, "@@CTAIL@@%ld", parserg->counter);
return parserg->buf;
#undef KEY
}
static void
Index: modules/pt/pt_parse_peg_c.tcl
==================================================================
--- modules/pt/pt_parse_peg_c.tcl
+++ modules/pt/pt_parse_peg_c.tcl
@@ -417,18 +417,18 @@
}
SCOPE void
rde_tc_get (RDE_TC tc, int at, char** ch, long int* len)
{
long int oc, off, top, end;
- long int* ov;
- rde_stack_get (tc->off, &oc, (void***) &ov);
+ void** ov;
+ rde_stack_get (tc->off, &oc, &ov);
ASSERT_BOUNDS(at,oc);
- off = ov [at];
+ off = (long int) ov [at];
if ((at+1) == oc) {
end = tc->num;
} else {
- end = ov [at+1];
+ end = (long int) ov [at+1];
}
TRACE (("rde_tc_get (RDE_TC %p, @ %d) => %d.[%d ... %d]/%d",tc,at,end-off,off,end-1,tc->num));
ASSERT_BOUNDS(off,tc->num);
ASSERT_BOUNDS(end-1,tc->num);
*ch = tc->str + off;
@@ -436,19 +436,19 @@
}
SCOPE void
rde_tc_get_s (RDE_TC tc, int at, int last, char** ch, long int* len)
{
long int oc, off, top, end;
- long int* ov;
- rde_stack_get (tc->off, &oc, (void***) &ov);
+ void** ov;
+ rde_stack_get (tc->off, &oc, &ov);
ASSERT_BOUNDS(at,oc);
ASSERT_BOUNDS(last,oc);
- off = ov [at];
+ off = (long int) ov [at];
if ((last+1) == oc) {
end = tc->num;
} else {
- end = ov [last+1];
+ end = (long int) ov [last+1];
}
TRACE (("rde_tc_get_s (RDE_TC %p, @ %d .. %d) => %d.[%d ... %d]/%d",tc,at,last,end-off,off,end-1,tc->num));
ASSERT_BOUNDS(off,tc->num);
ASSERT_BOUNDS(end-1,tc->num);
*ch = tc->str + off;
@@ -497,11 +497,11 @@
tc_wordchar,
tc_xdigit
} test_class_id;
static void ast_node_free (void* n);
static void error_state_free (void* es);
- static void error_set (RDE_PARAM p, int s);
+ static void error_set (RDE_PARAM p, long int s);
static void nc_clear (RDE_PARAM p);
static int UniCharIsAscii (int character);
static int UniCharIsHexDigit (int character);
static int UniCharIsDecDigit (int character);
static void test_class (RDE_PARAM p, UniCharClass class, test_class_id id);
@@ -650,13 +650,13 @@
rde_param_query_clientdata (RDE_PARAM p)
{
return p->clientData;
}
SCOPE void
- rde_param_query_amark (RDE_PARAM p, long int* mc, long int** mv)
+ rde_param_query_amark (RDE_PARAM p, long int* mc, void*** mv)
{
- rde_stack_get (p->mark, mc, (void***) mv);
+ rde_stack_get (p->mark, mc, mv);
}
SCOPE void
rde_param_query_ast (RDE_PARAM p, long int* ac, Tcl_Obj*** av)
{
rde_stack_get (p->ast, ac, (void***) av);
@@ -693,25 +693,25 @@
res = Tcl_NewStringObj ("", 0);
} else {
Tcl_Obj* ov [2];
Tcl_Obj** mov;
long int mc, i, j;
- long int* mv;
+ void** mv;
int lastid;
const char* msg;
- rde_stack_get (er->msg, &mc, (void***) &mv);
+ rde_stack_get (er->msg, &mc, &mv);
- qsort (mv, mc, sizeof (long int), er_int_compare);
+ qsort (mv, mc, sizeof (void*), er_int_compare);
mov = NALLOC (mc, Tcl_Obj*);
lastid = -1;
for (i=0, j=0; i < mc; i++) {
ASSERT_BOUNDS (i,mc);
- if (mv [i] == lastid) continue;
- lastid = mv [i];
- ASSERT_BOUNDS(mv[i],p->numstr);
- msg = p->string [mv[i]];
+ if (((long int) mv [i]) == lastid) continue;
+ lastid = (long int) mv [i];
+ ASSERT_BOUNDS((long int) mv[i],p->numstr);
+ msg = p->string [(long int) mv[i]];
ASSERT_BOUNDS (j,mc);
mov [j] = Tcl_NewStringObj (msg, -1);
j++;
}
@@ -780,11 +780,11 @@
{
long int trim = (long int) rde_stack_top (p->mark);
ENTER ("rde_param_i_ast_pop_rewind");
TRACE (("RDE_PARAM %p",p));
rde_stack_pop (p->mark, 1);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
TRACE (("SV = (%p rc%d '%s')",
p->SV,
p->SV ? p->SV->refCount : -1,
p->SV ? Tcl_GetString (p->SV) : ""));
RETURNVOID;
@@ -793,11 +793,11 @@
rde_param_i_ast_rewind (RDE_PARAM p)
{
long int trim = (long int) rde_stack_top (p->mark);
ENTER ("rde_param_i_ast_rewind");
TRACE (("RDE_PARAM %p",p));
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
TRACE (("SV = (%p rc%d '%s')",
p->SV,
p->SV ? p->SV->refCount : -1,
p->SV ? Tcl_GetString (p->SV) : ""));
RETURNVOID;
@@ -828,11 +828,11 @@
rde_param_i_error_clear (RDE_PARAM p)
{
ER_CLEAR (p);
}
SCOPE void
- rde_param_i_error_nonterminal (RDE_PARAM p, int s)
+ rde_param_i_error_nonterminal (RDE_PARAM p, long int s)
{
return;
long int pos;
if (!p->ER) return;
@@ -884,11 +884,11 @@
{
rde_stack_push (p->ES, p->ER);
if (p->ER) { p->ER->refCount ++; }
}
static void
- error_set (RDE_PARAM p, int s)
+ error_set (RDE_PARAM p, long int s)
{
error_state_free (p->ER);
p->ER = ALLOC (ERROR_STATE);
p->ER->refCount = 1;
p->ER->loc = p->CL;
@@ -926,11 +926,11 @@
rde_param_i_loc_rewind (RDE_PARAM p)
{
p->CL = (long int) rde_stack_top (p->LS);
}
SCOPE void
- rde_param_i_input_next (RDE_PARAM p, int m)
+ rde_param_i_input_next (RDE_PARAM p, long int m)
{
int leni;
char* ch;
ASSERT_BOUNDS(m,p->numstr);
p->CL ++;
@@ -972,11 +972,11 @@
rde_param_i_status_negate (RDE_PARAM p)
{
p->ST = !p->ST;
}
SCOPE int
- rde_param_i_symbol_restore (RDE_PARAM p, int s)
+ rde_param_i_symbol_restore (RDE_PARAM p, long int s)
{
NC_STATE* scs;
Tcl_HashEntry* hPtr;
Tcl_HashTable* tablePtr;
@@ -995,11 +995,11 @@
TRACE (("SV_RESTORE (%p) '%s'",scs->SV, scs->SV ? Tcl_GetString (scs->SV):""));
SV_SET (p, scs->SV);
return 1;
}
SCOPE void
- rde_param_i_symbol_save (RDE_PARAM p, int s)
+ rde_param_i_symbol_save (RDE_PARAM p, long int s)
{
long int at = (long int) rde_stack_top (p->LS);
NC_STATE* scs;
Tcl_HashEntry* hPtr;
Tcl_HashTable* tablePtr;
@@ -1066,11 +1066,11 @@
rde_param_i_test_control (RDE_PARAM p)
{
test_class (p, Tcl_UniCharIsControl, tc_control);
}
SCOPE void
- rde_param_i_test_char (RDE_PARAM p, const char* c, int msg)
+ rde_param_i_test_char (RDE_PARAM p, const char* c, long int msg)
{
ASSERT_BOUNDS(msg,p->numstr);
p->ST = Tcl_UtfNcmp (p->CC, c, 1) == 0;
if (p->ST) {
ER_CLEAR (p);
@@ -1108,11 +1108,11 @@
rde_param_i_test_punct (RDE_PARAM p)
{
test_class (p, Tcl_UniCharIsPunct, tc_punct);
}
SCOPE void
- rde_param_i_test_range (RDE_PARAM p, char* s, char* e, int msg)
+ rde_param_i_test_range (RDE_PARAM p, const char* s, const char* e, long int msg)
{
ASSERT_BOUNDS(msg,p->numstr);
p->ST =
(Tcl_UtfNcmp (s, p->CC, 1) <= 0) &&
(Tcl_UtfNcmp (p->CC, e, 1) <= 0);
@@ -1177,11 +1177,11 @@
rde_param_i_value_clear (RDE_PARAM p)
{
SV_CLEAR (p);
}
SCOPE void
- rde_param_i_value_leaf (RDE_PARAM p, int s)
+ rde_param_i_value_leaf (RDE_PARAM p, long int s)
{
Tcl_Obj* newsv;
Tcl_Obj* ov [3];
long int pos = 1 + (long int) rde_stack_top (p->LS);
ASSERT_BOUNDS(s,p->numstr);
@@ -1191,11 +1191,11 @@
newsv = Tcl_NewListObj (3, ov);
TRACE (("rde_param_i_value_leaf => '%s'",Tcl_GetString (newsv)));
SV_SET (p, newsv);
}
SCOPE void
- rde_param_i_value_reduce (RDE_PARAM p, int s)
+ rde_param_i_value_reduce (RDE_PARAM p, long int s)
{
Tcl_Obj* newsv;
int oc, i, j;
Tcl_Obj** ov;
long int ac;
@@ -1223,18 +1223,21 @@
ckfree ((char*) ov);
}
static int
er_int_compare (const void* a, const void* b)
{
- long int ai = *((long int*) a);
- long int bi = *((long int*) b);
- if (ai < bi) { return -1; }
- if (ai > bi) { return 1; }
+
+ const void** ael = (const void**) a;
+ const void** bel = (const void**) b;
+ long int avalue = (long int) *ael;
+ long int bvalue = (long int) *bel;
+ if (avalue < bvalue) { return -1; }
+ if (avalue > bvalue) { return 1; }
return 0;
}
SCOPE int
- rde_param_i_symbol_start (RDE_PARAM p, int s)
+ rde_param_i_symbol_start (RDE_PARAM p, long int s)
{
if (rde_param_i_symbol_restore (p, s)) {
if (p->ST) {
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
@@ -1243,11 +1246,11 @@
}
rde_stack_push (p->LS, (void*) p->CL);
return 0;
}
SCOPE int
- rde_param_i_symbol_start_d (RDE_PARAM p, int s)
+ rde_param_i_symbol_start_d (RDE_PARAM p, long int s)
{
if (rde_param_i_symbol_restore (p, s)) {
if (p->ST) {
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
@@ -1257,26 +1260,26 @@
rde_stack_push (p->LS, (void*) p->CL);
rde_stack_push (p->mark, (void*) rde_stack_size (p->ast));
return 0;
}
SCOPE int
- rde_param_i_symbol_void_start (RDE_PARAM p, int s)
+ rde_param_i_symbol_void_start (RDE_PARAM p, long int s)
{
if (rde_param_i_symbol_restore (p, s)) return 1;
rde_stack_push (p->LS, (void*) p->CL);
return 0;
}
SCOPE int
- rde_param_i_symbol_void_start_d (RDE_PARAM p, int s)
+ rde_param_i_symbol_void_start_d (RDE_PARAM p, long int s)
{
if (rde_param_i_symbol_restore (p, s)) return 1;
rde_stack_push (p->LS, (void*) p->CL);
rde_stack_push (p->mark, (void*) rde_stack_size (p->ast));
return 0;
}
SCOPE void
- rde_param_i_symbol_done_d_reduce (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_d_reduce (RDE_PARAM p, long int s, long int m)
{
if (p->ST) {
rde_param_i_value_reduce (p, s);
} else {
SV_CLEAR (p);
@@ -1289,11 +1292,11 @@
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
}
}
SCOPE void
- rde_param_i_symbol_done_leaf (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_leaf (RDE_PARAM p, long int s, long int m)
{
if (p->ST) {
rde_param_i_value_leaf (p, s);
} else {
SV_CLEAR (p);
@@ -1305,11 +1308,11 @@
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
}
}
SCOPE void
- rde_param_i_symbol_done_d_leaf (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_d_leaf (RDE_PARAM p, long int s, long int m)
{
if (p->ST) {
rde_param_i_value_leaf (p, s);
} else {
SV_CLEAR (p);
@@ -1322,133 +1325,133 @@
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
}
}
SCOPE void
- rde_param_i_symbol_done_void (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_void (RDE_PARAM p, long int s, long int m)
{
SV_CLEAR (p);
rde_param_i_symbol_save (p, s);
rde_param_i_error_nonterminal (p, m);
rde_stack_pop (p->LS, 1);
}
SCOPE void
- rde_param_i_symbol_done_d_void (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_d_void (RDE_PARAM p, long int s, long int m)
{
SV_CLEAR (p);
rde_param_i_symbol_save (p, s);
rde_param_i_error_nonterminal (p, m);
rde_param_i_ast_pop_rewind (p);
rde_stack_pop (p->LS, 1);
}
SCOPE void
- rde_param_i_next_char (RDE_PARAM p, char* c, int m)
+ rde_param_i_next_char (RDE_PARAM p, const char* c, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_char (p, c, m);
}
SCOPE void
- rde_param_i_next_range (RDE_PARAM p, char* s, char* e, int m)
+ rde_param_i_next_range (RDE_PARAM p, const char* s, const char* e, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_range (p, s, e, m);
}
SCOPE void
- rde_param_i_next_alnum (RDE_PARAM p, int m)
+ rde_param_i_next_alnum (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_alnum (p);
}
SCOPE void
- rde_param_i_next_alpha (RDE_PARAM p, int m)
+ rde_param_i_next_alpha (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_alpha (p);
}
SCOPE void
- rde_param_i_next_ascii (RDE_PARAM p, int m)
+ rde_param_i_next_ascii (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_ascii (p);
}
SCOPE void
- rde_param_i_next_control (RDE_PARAM p, int m)
+ rde_param_i_next_control (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_control (p);
}
SCOPE void
- rde_param_i_next_ddigit (RDE_PARAM p, int m)
+ rde_param_i_next_ddigit (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_ddigit (p);
}
SCOPE void
- rde_param_i_next_digit (RDE_PARAM p, int m)
+ rde_param_i_next_digit (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_digit (p);
}
SCOPE void
- rde_param_i_next_graph (RDE_PARAM p, int m)
+ rde_param_i_next_graph (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_graph (p);
}
SCOPE void
- rde_param_i_next_lower (RDE_PARAM p, int m)
+ rde_param_i_next_lower (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_lower (p);
}
SCOPE void
- rde_param_i_next_print (RDE_PARAM p, int m)
+ rde_param_i_next_print (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_print (p);
}
SCOPE void
- rde_param_i_next_punct (RDE_PARAM p, int m)
+ rde_param_i_next_punct (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_punct (p);
}
SCOPE void
- rde_param_i_next_space (RDE_PARAM p, int m)
+ rde_param_i_next_space (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_space (p);
}
SCOPE void
- rde_param_i_next_upper (RDE_PARAM p, int m)
+ rde_param_i_next_upper (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_upper (p);
}
SCOPE void
- rde_param_i_next_wordchar (RDE_PARAM p, int m)
+ rde_param_i_next_wordchar (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_wordchar (p);
}
SCOPE void
- rde_param_i_next_xdigit (RDE_PARAM p, int m)
+ rde_param_i_next_xdigit (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_xdigit (p);
}
@@ -1525,11 +1528,11 @@
rde_param_i_state_merge_value (RDE_PARAM p)
{
rde_param_i_error_pop_merge (p);
if (!p->ST) {
long int trim = (long int) rde_stack_top (p->mark);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
p->CL = (long int) rde_stack_top (p->LS);
}
rde_stack_pop (p->mark, 1);
rde_stack_pop (p->LS, 1);
}
@@ -1593,11 +1596,11 @@
if (p->ER) { p->ER->refCount ++; }
return 0;
} else {
long int trim = (long int) rde_stack_top (p->mark);
rde_stack_pop (p->mark, 1);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
p->CL = (long int) rde_stack_top (p->LS);
rde_stack_pop (p->LS, 1);
return 1;
}
}
@@ -1636,11 +1639,11 @@
rde_stack_pop (p->mark, 1);
rde_stack_pop (p->LS, 1);
} else {
long int trim = (long int) rde_stack_top (p->mark);
rde_stack_pop (p->mark, 1);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
p->CL = (long int) rde_stack_top (p->LS);
rde_stack_push (p->ES, p->ER);
if (p->ER) { p->ER->refCount ++; }
}
return p->ST;
@@ -1652,19 +1655,19 @@
if (p->ST) {
rde_stack_pop (p->mark, 1);
rde_stack_pop (p->LS, 1);
} else {
long int trim = (long int) rde_stack_top (p->mark);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
p->CL = (long int) rde_stack_top (p->LS);
rde_stack_push (p->ES, p->ER);
if (p->ER) { p->ER->refCount ++; }
}
return p->ST;
}
SCOPE void
- rde_param_i_next_str (RDE_PARAM p, const char* str, int m)
+ rde_param_i_next_str (RDE_PARAM p, const char* str, long int m)
{
int at = p->CL;
while (*str) {
rde_param_i_input_next (p, m);
@@ -1681,11 +1684,11 @@
}
str = Tcl_UtfNext (str);
}
}
SCOPE void
- rde_param_i_next_class (RDE_PARAM p, const char* class, int m)
+ rde_param_i_next_class (RDE_PARAM p, const char* class, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
while (*class) {
p->ST = Tcl_UtfNcmp (p->CC, class, 1) == 0;
@@ -4747,11 +4750,11 @@
Tcl_SetAssocData (interp, KEY, proc,
(ClientData) parserg);
}
parserg->counter ++;
- sprintf (parserg->buf, "peg%d", parserg->counter);
+ sprintf (parserg->buf, "peg%ld", parserg->counter);
return parserg->buf;
#undef KEY
}
static void
Index: modules/pt/pt_rdengine_c.tcl
==================================================================
--- modules/pt/pt_rdengine_c.tcl
+++ modules/pt/pt_rdengine_c.tcl
@@ -74,11 +74,11 @@
Tcl_SetAssocData (interp, KEY, proc,
(ClientData) paramg);
}
paramg->counter ++;
- sprintf (paramg->buf, "rde%d", paramg->counter);
+ sprintf (paramg->buf, "rde%ld", paramg->counter);
return paramg->buf;
#undef KEY
}
Index: modules/pt/rde_critcl/m.c
==================================================================
--- modules/pt/rde_critcl/m.c
+++ modules/pt/rde_critcl/m.c
@@ -17,12 +17,12 @@
{
/* Syntax: rde amarked
* [0] [1]
*/
- long int mc, i;
- long int* mv;
+ long int mc, i;
+ void** mv;
Tcl_Obj** ov;
if (objc != 2) {
Tcl_WrongNumArgs (interp, 2, objv, NULL);
return TCL_ERROR;
@@ -31,11 +31,11 @@
rde_param_query_amark (p->p, &mc, &mv);
ov = NALLOC (mc, Tcl_Obj*);
for (i=0; i < mc; i++) {
- ov [i] = Tcl_NewIntObj (mv [i]);
+ ov [i] = Tcl_NewIntObj ((long int) mv [i]);
}
Tcl_SetObjResult (interp,
Tcl_NewListObj (mc, ov));
@@ -278,11 +278,11 @@
/* Syntax: rde lmarked
* [0] [1]
*/
long int lc, i;
- void* lv;
+ void** lv;
Tcl_Obj** ov;
if (objc != 2) {
Tcl_WrongNumArgs (interp, 2, objv, NULL);
return TCL_ERROR;
@@ -401,20 +401,20 @@
he != NULL;
he = Tcl_NextHashEntry(&hs)) {
Tcl_HashSearch hsc;
Tcl_HashEntry* hec;
- int loc = (int) Tcl_GetHashKey (nc, he);
+ long int loc = (long int) Tcl_GetHashKey (nc, he);
kv [0] = Tcl_NewIntObj (loc);
tablePtr = (Tcl_HashTable*) Tcl_GetHashValue (he);
for(hec = Tcl_FirstHashEntry(tablePtr, &hsc);
hec != NULL;
hec = Tcl_NextHashEntry(&hsc)) {
- int symid = (int) Tcl_GetHashKey (tablePtr, hec);
+ long int symid = (long int) Tcl_GetHashKey (tablePtr, hec);
const char* sym = rde_param_query_string (p->p, symid);
kv [1] = Tcl_NewStringObj (sym,-1);
Tcl_ListObjAppendElement (interp, res,
@@ -453,21 +453,21 @@
he != NULL;
he = Tcl_NextHashEntry(&hs)) {
Tcl_HashSearch hsc;
Tcl_HashEntry* hec;
- int loc = (int) Tcl_GetHashKey (nc, he);
+ long int loc = (long int) Tcl_GetHashKey (nc, he);
kv [0] = Tcl_NewIntObj (loc);
tablePtr = (Tcl_HashTable*) Tcl_GetHashValue (he);
for(hec = Tcl_FirstHashEntry(tablePtr, &hsc);
hec != NULL;
hec = Tcl_NextHashEntry(&hsc)) {
NC_STATE* scs = Tcl_GetHashValue (hec);
- int symid = (int) Tcl_GetHashKey (tablePtr, hec);
+ long int symid = (long int) Tcl_GetHashKey (tablePtr, hec);
const char* sym = rde_param_query_string (p->p, symid);
kv [1] = Tcl_NewStringObj (sym,-1);
vv [0] = Tcl_NewIntObj (scs->CL);
@@ -730,11 +730,11 @@
{
/* Syntax: rde i_error_nonterminal SYMBOL
* [0] [1] [2]
*/
- int sym;
+ long int sym;
if (objc != 3) {
Tcl_WrongNumArgs (interp, 2, objv, "symbol");
return TCL_ERROR;
}
@@ -1087,11 +1087,12 @@
{
/* Syntax: rde i_symbol_restore SYMBOL
* [0] [1] [2]
*/
- int sym, found;
+ long int sym;
+ int found;
if (objc != 3) {
Tcl_WrongNumArgs (interp, 2, objv, "symbol");
return TCL_ERROR;
}
@@ -1114,11 +1115,11 @@
{
/* Syntax: rde i_symbol_save SYMBOL
* [0] [1] [2]
*/
- int sym;
+ long int sym;
if (objc != 3) {
Tcl_WrongNumArgs (interp, 2, objv, "symbol");
return TCL_ERROR;
}
@@ -1148,11 +1149,11 @@
}
if (!rde_param_query_st (p->p)) {
rde_param_i_value_clear (p->p);
} else {
- int sym;
+ long int sym;
/*
* We cannot save the interned string id in the Tcl_Obj*, because this
* is already taken by the argument of param_I_er_nt aka
* i_error_nonterminal, due to literal sharing in procedure bodies.
@@ -1195,11 +1196,11 @@
}
if (!rde_param_query_st (p->p)) {
rde_param_i_value_clear (p->p);
} else {
- int sym;
+ long int sym;
/*
* We cannot save the interned string id in the Tcl_Obj*, because this
* is already taken by the argument of param_I_er_nt aka
* i_error_nonterminal, due to literal sharing in procedure bodies.
@@ -1217,11 +1218,11 @@
{
/* Syntax: rde i_input_next MSG
* [0] [1] [2]
*/
- int msg;
+ long int msg;
if (objc != 3) {
Tcl_WrongNumArgs (interp, 2, objv, "msg");
return TCL_ERROR;
}
@@ -1288,11 +1289,11 @@
}
int
param_I_test_char (RDE_STATE p, Tcl_Interp* interp, int objc, Tcl_Obj* CONST* objv)
{
- int msg;
+ long int msg;
char* ch;
/* Syntax: rde i_test_char CHAR
* [0] [1] [2]
*/
@@ -1433,11 +1434,11 @@
}
int
param_I_test_range (RDE_STATE p, Tcl_Interp* interp, int objc, Tcl_Obj* CONST* objv)
{
- int msg;
+ long int msg;
char* chs;
char* che;
/* Syntax: rde i_test_range START END
* [0] [1] [2] [3]
@@ -1780,11 +1781,11 @@
}
int
param_SI_next_char (RDE_STATE p, Tcl_Interp* interp, int objc, Tcl_Obj* CONST* objv)
{
- int msg;
+ long int msg;
char* ch;
/* Syntax: rde i_next_char CHAR
* [0] [1] [2]
*/
@@ -1809,11 +1810,11 @@
}
int
param_SI_next_range (RDE_STATE p, Tcl_Interp* interp, int objc, Tcl_Obj* CONST* objv)
{
- int msg;
+ long int msg;
char* chs;
char* che;
/* Syntax: rde i_next_range START END
* [0] [1] [2] [3]
@@ -1844,11 +1845,11 @@
{
/* Syntax: rde si:next_alnum
* [0] [1]
*/
- int msg;
+ long int msg;
if (objc != 2) {
Tcl_WrongNumArgs (interp, 2, objv, NULL);
return TCL_ERROR;
}
@@ -1867,11 +1868,11 @@
{
/* Syntax: rde si:next_alpha
* [0] [1]
*/
- int msg;
+ long int msg;
if (objc != 2) {
Tcl_WrongNumArgs (interp, 2, objv, NULL);
return TCL_ERROR;
}
@@ -1890,11 +1891,11 @@
{
/* Syntax: rde si:next_ascii
* [0] [1]
*/
- int msg;
+ long int msg;
if (objc != 2) {
Tcl_WrongNumArgs (interp, 2, objv, NULL);
return TCL_ERROR;
}
@@ -1913,11 +1914,11 @@
{
/* Syntax: rde si:next_control
* [0] [1]
*/
- int msg;
+ long int msg;
if (objc != 2) {
Tcl_WrongNumArgs (interp, 2, objv, NULL);
return TCL_ERROR;
}
@@ -1936,11 +1937,11 @@
{
/* Syntax: rde si:next_ddigit
* [0] [1]
*/
- int msg;
+ long int msg;
if (objc != 2) {
Tcl_WrongNumArgs (interp, 2, objv, NULL);
return TCL_ERROR;
}
@@ -1959,11 +1960,11 @@
{
/* Syntax: rde si:next_digit
* [0] [1]
*/
- int msg;
+ long int msg;
if (objc != 2) {
Tcl_WrongNumArgs (interp, 2, objv, NULL);
return TCL_ERROR;
}
@@ -1982,11 +1983,11 @@
{
/* Syntax: rde si:next_graph
* [0] [1]
*/
- int msg;
+ long int msg;
if (objc != 2) {
Tcl_WrongNumArgs (interp, 2, objv, NULL);
return TCL_ERROR;
}
@@ -2005,11 +2006,11 @@
{
/* Syntax: rde si:next_lower
* [0] [1]
*/
- int msg;
+ long int msg;
if (objc != 2) {
Tcl_WrongNumArgs (interp, 2, objv, NULL);
return TCL_ERROR;
}
@@ -2028,11 +2029,11 @@
{
/* Syntax: rde si:next_print
* [0] [1]
*/
- int msg;
+ long int msg;
if (objc != 2) {
Tcl_WrongNumArgs (interp, 2, objv, NULL);
return TCL_ERROR;
}
@@ -2051,11 +2052,11 @@
{
/* Syntax: rde si:next_punct
* [0] [1]
*/
- int msg;
+ long int msg;
if (objc != 2) {
Tcl_WrongNumArgs (interp, 2, objv, NULL);
return TCL_ERROR;
}
@@ -2074,11 +2075,11 @@
{
/* Syntax: rde si:next_space
* [0] [1]
*/
- int msg;
+ long int msg;
if (objc != 2) {
Tcl_WrongNumArgs (interp, 2, objv, NULL);
return TCL_ERROR;
}
@@ -2097,11 +2098,11 @@
{
/* Syntax: rde si:next_upper
* [0] [1]
*/
- int msg;
+ long int msg;
if (objc != 2) {
Tcl_WrongNumArgs (interp, 2, objv, NULL);
return TCL_ERROR;
}
@@ -2120,11 +2121,11 @@
{
/* Syntax: rde si:next_wordchar
* [0] [1]
*/
- int msg;
+ long int msg;
if (objc != 2) {
Tcl_WrongNumArgs (interp, 2, objv, NULL);
return TCL_ERROR;
}
@@ -2143,11 +2144,11 @@
{
/* Syntax: rde si:next_xdigit
* [0] [1]
*/
- int msg;
+ long int msg;
if (objc != 2) {
Tcl_WrongNumArgs (interp, 2, objv, NULL);
return TCL_ERROR;
}
@@ -2310,11 +2311,12 @@
{
/* Syntax: rde si:value_symbol_start SYMBOL
* [0] [1] [2]
*/
- int sym, found;
+ long int sym;
+ int found;
if (objc != 3) {
Tcl_WrongNumArgs (interp, 2, objv, "symbol");
return TCL_ERROR;
}
@@ -2345,11 +2347,12 @@
{
/* Syntax: rde si:value_void_symbol_start SYMBOL
* [0] [1] [2]
*/
- int sym, found;
+ long int sym;
+ int found;
if (objc != 3) {
Tcl_WrongNumArgs (interp, 2, objv, "symbol");
return TCL_ERROR;
}
@@ -2377,11 +2380,12 @@
{
/* Syntax: rde si:void_symbol_start SYMBOL
* [0] [1] [2]
*/
- int sym, found;
+ long int sym;
+ int found;
if (objc != 3) {
Tcl_WrongNumArgs (interp, 2, objv, "symbol");
return TCL_ERROR;
}
@@ -2411,11 +2415,12 @@
{
/* Syntax: rde si:void_void_symbol_start SYMBOL
* [0] [1] [2]
*/
- int sym, found;
+ long int sym;
+ int found;
if (objc != 3) {
Tcl_WrongNumArgs (interp, 2, objv, "symbol");
return TCL_ERROR;
}
@@ -2442,11 +2447,11 @@
{
/* Syntax: rde si:reduce_symbol_end SYMBOL
* [0] [1] [2]
*/
- int sym, msg;
+ long int sym, msg;
if (objc != 3) {
Tcl_WrongNumArgs (interp, 2, objv, "symbol");
return TCL_ERROR;
}
@@ -2494,11 +2499,11 @@
{
/* Syntax: rde si:void_leaf_symbol_end SYMBOL
* [0] [1] [2]
*/
- int sym, msg;
+ long int sym, msg;
if (objc != 3) {
Tcl_WrongNumArgs (interp, 2, objv, "symbol");
return TCL_ERROR;
}
@@ -2545,11 +2550,11 @@
{
/* Syntax: rde si:value_leaf_symbol_end SYMBOL
* [0] [1] [2]
*/
- int sym, msg;
+ long int sym, msg;
if (objc != 3) {
Tcl_WrongNumArgs (interp, 2, objv, "symbol");
return TCL_ERROR;
}
@@ -2597,11 +2602,11 @@
{
/* Syntax: rde si:value_clear_symbol_end SYMBOL
* [0] [1] [2]
*/
- int sym, msg;
+ long int sym, msg;
if (objc != 3) {
Tcl_WrongNumArgs (interp, 2, objv, "symbol");
return TCL_ERROR;
}
@@ -2640,11 +2645,11 @@
{
/* Syntax: rde si:void_clear_symbol_end SYMBOL
* [0] [1] [2]
*/
- int sym, msg;
+ long int sym, msg;
if (objc != 3) {
Tcl_WrongNumArgs (interp, 2, objv, "symbol");
return TCL_ERROR;
}
@@ -2678,11 +2683,12 @@
}
int
param_SI_next_str (RDE_STATE p, Tcl_Interp* interp, int objc, Tcl_Obj* CONST* objv)
{
- int msg, len, i;
+ long int msg;
+ int len, i;
char* str;
/* Syntax: rde i_next_char CHAR
* [0] [1] [2]
*/
@@ -2704,11 +2710,12 @@
}
int
param_SI_next_class (RDE_STATE p, Tcl_Interp* interp, int objc, Tcl_Obj* CONST* objv)
{
- int msg, len, i;
+ long int msg;
+ int len, i;
char* class;
/* Syntax: rde i_next_char CHAR
* [0] [1] [2]
*/
Index: modules/pt/rde_critcl/ot.c
==================================================================
--- modules/pt/rde_critcl/ot.c
+++ modules/pt/rde_critcl/ot.c
@@ -28,14 +28,14 @@
/*
* = = == === ===== ======== ============= =====================
*/
-int
-rde_ot_intern (Tcl_Obj* obj, RDE_STATE p, char* pfx, char* sfx)
+long int
+rde_ot_intern (Tcl_Obj* obj, RDE_STATE p, const char* pfx, const char* sfx)
{
- int id;
+ long int id;
RDE_STRING* rs;
TRACE (("rde_ot_intern (%p, '%s','%s' of %p = '%s')", p, pfx, sfx, obj, Tcl_GetString(obj)));
/*
Index: modules/pt/rde_critcl/ot.h
==================================================================
--- modules/pt/rde_critcl/ot.h
+++ modules/pt/rde_critcl/ot.h
@@ -7,11 +7,12 @@
#define _RDE_DS_OT_H 1
#include "tcl.h"
#include
/* State declarations */
-int rde_ot_intern (Tcl_Obj* obj, RDE_STATE p, char* pfx, char* sfx);
+long int rde_ot_intern (Tcl_Obj* obj, RDE_STATE p,
+ const char* pfx, const char* sfx);
#endif /* _RDE_DS_OT_H */
/*
* Local Variables:
Index: modules/pt/rde_critcl/p.c
==================================================================
--- modules/pt/rde_critcl/p.c
+++ modules/pt/rde_critcl/p.c
@@ -110,34 +110,35 @@
p->c = c;
RETURNVOID;
}
-int
+long int
param_intern (RDE_STATE p, char* literal)
{
- int res, isnew;
+ long int res;
+ int isnew;
Tcl_HashEntry* hPtr;
ENTER ("param_intern");
TRACE (("RDE_STATE %p",p));
TRACE (("CHAR* '%s'",literal));
hPtr = Tcl_FindHashEntry (&p->str, literal);
if (hPtr) {
- res = (int) Tcl_GetHashValue (hPtr);
+ res = (long int) Tcl_GetHashValue (hPtr);
RETURN("CACHED %d",res);
}
hPtr = Tcl_CreateHashEntry(&p->str, literal, &isnew);
ASSERT (isnew, "Should have found entry");
Tcl_SetHashValue (hPtr, p->numstr);
if (p->numstr >= p->maxnum) {
- int new;
- char** str;
+ long int new;
+ char** str;
new = 2 * (p->maxnum ? p->maxnum : 8);
TRACE (("extend to %d strings",new));
str = (char**) ckrealloc ((char*) p->string, new * sizeof(char*));
Index: modules/pt/rde_critcl/pInt.h
==================================================================
--- modules/pt/rde_critcl/pInt.h
+++ modules/pt/rde_critcl/pInt.h
@@ -26,20 +26,20 @@
*/
/* And the counter mapping from ids to strings, this is handed to the
* PARAM for use.
*/
- int maxnum; /* NOTE -- */
- int numstr; /* This is, essentially, an RDE_STACK (char* elements) */
- char** string; /* Convert over to that instead of replicating the code */
+ long int maxnum; /* NOTE -- */
+ long int numstr; /* This is, essentially, an RDE_STACK (char* elements) */
+ char** string; /* Convert over to that instead of replicating the code */
#ifdef RDE_TRACE
int icount; /* Instruction counter, when tracing */
#endif
} RDE_STATE_;
-int param_intern (RDE_STATE p, char* literal);
+long int param_intern (RDE_STATE p, char* literal);
#endif /* _P_H */
/*
* Local Variables:
Index: modules/pt/rde_critcl/param.c
==================================================================
--- modules/pt/rde_critcl/param.c
+++ modules/pt/rde_critcl/param.c
@@ -86,11 +86,11 @@
* = = == === ===== ======== ============= =====================
*/
static void ast_node_free (void* n);
static void error_state_free (void* es);
-static void error_set (RDE_PARAM p, int s);
+static void error_set (RDE_PARAM p, long int s);
static void nc_clear (RDE_PARAM p);
static int UniCharIsAscii (int character);
static int UniCharIsHexDigit (int character);
static int UniCharIsDecDigit (int character);
@@ -301,13 +301,13 @@
{
return p->clientData;
}
SCOPE void
-rde_param_query_amark (RDE_PARAM p, long int* mc, long int** mv)
+rde_param_query_amark (RDE_PARAM p, long int* mc, void*** mv)
{
- rde_stack_get (p->mark, mc, (void***) mv);
+ rde_stack_get (p->mark, mc, mv);
}
SCOPE void
rde_param_query_ast (RDE_PARAM p, long int* ac, Tcl_Obj*** av)
{
@@ -354,23 +354,23 @@
res = Tcl_NewStringObj ("", 0);
} else {
Tcl_Obj* ov [2];
Tcl_Obj** mov;
long int mc, i, j;
- long int* mv;
+ void** mv;
int lastid;
const char* msg;
- rde_stack_get (er->msg, &mc, (void***) &mv);
+ rde_stack_get (er->msg, &mc, &mv);
/*
* Note: We are peeking inside the (message) stack here and are
* modifying it in place. This doesn't matter, we are using the stack
* code for convenience, not for the ordering.
*/
- qsort (mv, mc, sizeof (long int), er_int_compare);
+ qsort (mv, mc, sizeof (void*), er_int_compare);
/*
* Convert message ids to strings. We ignore duplicates, by comparing
* to the last processed id. Here the sorting (see above) comes into
* play, we know that duplicates are bunched together in runs, making
@@ -380,15 +380,15 @@
mov = NALLOC (mc, Tcl_Obj*);
lastid = -1;
for (i=0, j=0; i < mc; i++) {
ASSERT_BOUNDS (i,mc);
- if (mv [i] == lastid) continue;
- lastid = mv [i];
+ if (((long int) mv [i]) == lastid) continue;
+ lastid = (long int) mv [i];
- ASSERT_BOUNDS(mv[i],p->numstr);
- msg = p->string [mv[i]]; /* inlined query_string */
+ ASSERT_BOUNDS((long int) mv[i],p->numstr);
+ msg = p->string [(long int) mv[i]]; /* inlined query_string */
ASSERT_BOUNDS (j,mc);
mov [j] = Tcl_NewStringObj (msg, -1);
j++;
}
@@ -484,11 +484,11 @@
ENTER ("rde_param_i_ast_pop_rewind");
TRACE (("RDE_PARAM %p",p));
rde_stack_pop (p->mark, 1);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
TRACE (("SV = (%p rc%d '%s')",
p->SV,
p->SV ? p->SV->refCount : -1,
p->SV ? Tcl_GetString (p->SV) : ""));
@@ -501,11 +501,11 @@
long int trim = (long int) rde_stack_top (p->mark);
ENTER ("rde_param_i_ast_rewind");
TRACE (("RDE_PARAM %p",p));
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
TRACE (("SV = (%p rc%d '%s')",
p->SV,
p->SV ? p->SV->refCount : -1,
p->SV ? Tcl_GetString (p->SV) : ""));
@@ -549,11 +549,11 @@
{
ER_CLEAR (p);
}
SCOPE void
-rde_param_i_error_nonterminal (RDE_PARAM p, int s)
+rde_param_i_error_nonterminal (RDE_PARAM p, long int s)
{
/*
* Disabled. Generate only low-level errors until we have worked out how
* to integrate symbol information with them. Do not forget where this
* instruction is inlined - No such exist, places using the instruction
@@ -656,11 +656,11 @@
rde_stack_push (p->ES, p->ER);
if (p->ER) { p->ER->refCount ++; }
}
static void
-error_set (RDE_PARAM p, int s)
+error_set (RDE_PARAM p, long int s)
{
error_state_free (p->ER);
p->ER = ALLOC (ERROR_STATE);
p->ER->refCount = 1;
@@ -718,11 +718,11 @@
/*
* = = == === ===== ======== ============= =====================
*/
SCOPE void
-rde_param_i_input_next (RDE_PARAM p, int m)
+rde_param_i_input_next (RDE_PARAM p, long int m)
{
int leni;
char* ch;
ASSERT_BOUNDS(m,p->numstr);
@@ -800,11 +800,11 @@
/*
* = = == === ===== ======== ============= =====================
*/
SCOPE int
-rde_param_i_symbol_restore (RDE_PARAM p, int s)
+rde_param_i_symbol_restore (RDE_PARAM p, long int s)
{
NC_STATE* scs;
Tcl_HashEntry* hPtr;
Tcl_HashTable* tablePtr;
@@ -839,11 +839,11 @@
return 1;
}
SCOPE void
-rde_param_i_symbol_save (RDE_PARAM p, int s)
+rde_param_i_symbol_save (RDE_PARAM p, long int s)
{
long int at = (long int) rde_stack_top (p->LS);
NC_STATE* scs;
Tcl_HashEntry* hPtr;
Tcl_HashTable* tablePtr;
@@ -943,11 +943,11 @@
{
test_class (p, Tcl_UniCharIsControl, tc_control);
}
SCOPE void
-rde_param_i_test_char (RDE_PARAM p, const char* c, int msg)
+rde_param_i_test_char (RDE_PARAM p, const char* c, long int msg)
{
ASSERT_BOUNDS(msg,p->numstr);
p->ST = Tcl_UtfNcmp (p->CC, c, 1) == 0;
@@ -994,11 +994,11 @@
{
test_class (p, Tcl_UniCharIsPunct, tc_punct);
}
SCOPE void
-rde_param_i_test_range (RDE_PARAM p, char* s, char* e, int msg)
+rde_param_i_test_range (RDE_PARAM p, const char* s, const char* e, long int msg)
{
ASSERT_BOUNDS(msg,p->numstr);
p->ST =
(Tcl_UtfNcmp (s, p->CC, 1) <= 0) &&
@@ -1085,11 +1085,11 @@
{
SV_CLEAR (p);
}
SCOPE void
-rde_param_i_value_leaf (RDE_PARAM p, int s)
+rde_param_i_value_leaf (RDE_PARAM p, long int s)
{
Tcl_Obj* newsv;
Tcl_Obj* ov [3];
long int pos = 1 + (long int) rde_stack_top (p->LS);
@@ -1105,11 +1105,11 @@
SV_SET (p, newsv);
}
SCOPE void
-rde_param_i_value_reduce (RDE_PARAM p, int s)
+rde_param_i_value_reduce (RDE_PARAM p, long int s)
{
Tcl_Obj* newsv;
int oc, i, j;
Tcl_Obj** ov;
long int ac;
@@ -1151,25 +1151,33 @@
*/
static int
er_int_compare (const void* a, const void* b)
{
- long int ai = *((long int*) a);
- long int bi = *((long int*) b);
+ /* a, b = pointers to element, as void*.
+ * Actual element type is (void*), and
+ * actually stored data is (long int).
+ */
- if (ai < bi) { return -1; }
- if (ai > bi) { return 1; }
+ const void** ael = (const void**) a;
+ const void** bel = (const void**) b;
+
+ long int avalue = (long int) *ael;
+ long int bvalue = (long int) *bel;
+
+ if (avalue < bvalue) { return -1; }
+ if (avalue > bvalue) { return 1; }
return 0;
}
/*
* = = == === ===== ======== ============= =====================
* == Super Instructions.
*/
SCOPE int
-rde_param_i_symbol_start (RDE_PARAM p, int s)
+rde_param_i_symbol_start (RDE_PARAM p, long int s)
{
if (rde_param_i_symbol_restore (p, s)) {
if (p->ST) {
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
@@ -1180,11 +1188,11 @@
rde_stack_push (p->LS, (void*) p->CL);
return 0;
}
SCOPE int
-rde_param_i_symbol_start_d (RDE_PARAM p, int s)
+rde_param_i_symbol_start_d (RDE_PARAM p, long int s)
{
if (rde_param_i_symbol_restore (p, s)) {
if (p->ST) {
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
@@ -1196,30 +1204,30 @@
rde_stack_push (p->mark, (void*) rde_stack_size (p->ast));
return 0;
}
SCOPE int
-rde_param_i_symbol_void_start (RDE_PARAM p, int s)
+rde_param_i_symbol_void_start (RDE_PARAM p, long int s)
{
if (rde_param_i_symbol_restore (p, s)) return 1;
rde_stack_push (p->LS, (void*) p->CL);
return 0;
}
SCOPE int
-rde_param_i_symbol_void_start_d (RDE_PARAM p, int s)
+rde_param_i_symbol_void_start_d (RDE_PARAM p, long int s)
{
if (rde_param_i_symbol_restore (p, s)) return 1;
rde_stack_push (p->LS, (void*) p->CL);
rde_stack_push (p->mark, (void*) rde_stack_size (p->ast));
return 0;
}
SCOPE void
-rde_param_i_symbol_done_d_reduce (RDE_PARAM p, int s, int m)
+rde_param_i_symbol_done_d_reduce (RDE_PARAM p, long int s, long int m)
{
if (p->ST) {
rde_param_i_value_reduce (p, s);
} else {
SV_CLEAR (p);
@@ -1236,11 +1244,11 @@
Tcl_IncrRefCount (p->SV);
}
}
SCOPE void
-rde_param_i_symbol_done_leaf (RDE_PARAM p, int s, int m)
+rde_param_i_symbol_done_leaf (RDE_PARAM p, long int s, long int m)
{
if (p->ST) {
rde_param_i_value_leaf (p, s);
} else {
SV_CLEAR (p);
@@ -1256,11 +1264,11 @@
Tcl_IncrRefCount (p->SV);
}
}
SCOPE void
-rde_param_i_symbol_done_d_leaf (RDE_PARAM p, int s, int m)
+rde_param_i_symbol_done_d_leaf (RDE_PARAM p, long int s, long int m)
{
if (p->ST) {
rde_param_i_value_leaf (p, s);
} else {
SV_CLEAR (p);
@@ -1277,21 +1285,21 @@
Tcl_IncrRefCount (p->SV);
}
}
SCOPE void
-rde_param_i_symbol_done_void (RDE_PARAM p, int s, int m)
+rde_param_i_symbol_done_void (RDE_PARAM p, long int s, long int m)
{
SV_CLEAR (p);
rde_param_i_symbol_save (p, s);
rde_param_i_error_nonterminal (p, m);
rde_stack_pop (p->LS, 1);
}
SCOPE void
-rde_param_i_symbol_done_d_void (RDE_PARAM p, int s, int m)
+rde_param_i_symbol_done_d_void (RDE_PARAM p, long int s, long int m)
{
SV_CLEAR (p);
rde_param_i_symbol_save (p, s);
rde_param_i_error_nonterminal (p, m);
rde_param_i_ast_pop_rewind (p);
@@ -1302,131 +1310,131 @@
/*
* = = == === ===== ======== ============= =====================
*/
SCOPE void
-rde_param_i_next_char (RDE_PARAM p, char* c, int m)
+rde_param_i_next_char (RDE_PARAM p, const char* c, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_char (p, c, m);
}
SCOPE void
-rde_param_i_next_range (RDE_PARAM p, char* s, char* e, int m)
+rde_param_i_next_range (RDE_PARAM p, const char* s, const char* e, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_range (p, s, e, m);
}
SCOPE void
-rde_param_i_next_alnum (RDE_PARAM p, int m)
+rde_param_i_next_alnum (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_alnum (p);
}
SCOPE void
-rde_param_i_next_alpha (RDE_PARAM p, int m)
+rde_param_i_next_alpha (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_alpha (p);
}
SCOPE void
-rde_param_i_next_ascii (RDE_PARAM p, int m)
+rde_param_i_next_ascii (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_ascii (p);
}
SCOPE void
-rde_param_i_next_control (RDE_PARAM p, int m)
+rde_param_i_next_control (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_control (p);
}
SCOPE void
-rde_param_i_next_ddigit (RDE_PARAM p, int m)
+rde_param_i_next_ddigit (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_ddigit (p);
}
SCOPE void
-rde_param_i_next_digit (RDE_PARAM p, int m)
+rde_param_i_next_digit (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_digit (p);
}
SCOPE void
-rde_param_i_next_graph (RDE_PARAM p, int m)
+rde_param_i_next_graph (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_graph (p);
}
SCOPE void
-rde_param_i_next_lower (RDE_PARAM p, int m)
+rde_param_i_next_lower (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_lower (p);
}
SCOPE void
-rde_param_i_next_print (RDE_PARAM p, int m)
+rde_param_i_next_print (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_print (p);
}
SCOPE void
-rde_param_i_next_punct (RDE_PARAM p, int m)
+rde_param_i_next_punct (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_punct (p);
}
SCOPE void
-rde_param_i_next_space (RDE_PARAM p, int m)
+rde_param_i_next_space (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_space (p);
}
SCOPE void
-rde_param_i_next_upper (RDE_PARAM p, int m)
+rde_param_i_next_upper (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_upper (p);
}
SCOPE void
-rde_param_i_next_wordchar (RDE_PARAM p, int m)
+rde_param_i_next_wordchar (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_wordchar (p);
}
SCOPE void
-rde_param_i_next_xdigit (RDE_PARAM p, int m)
+rde_param_i_next_xdigit (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_xdigit (p);
}
@@ -1523,11 +1531,11 @@
{
rde_param_i_error_pop_merge (p);
if (!p->ST) {
long int trim = (long int) rde_stack_top (p->mark);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
p->CL = (long int) rde_stack_top (p->LS);
}
rde_stack_pop (p->mark, 1);
rde_stack_pop (p->LS, 1);
}
@@ -1612,11 +1620,11 @@
return 0;
} else {
long int trim = (long int) rde_stack_top (p->mark);
rde_stack_pop (p->mark, 1);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
p->CL = (long int) rde_stack_top (p->LS);
rde_stack_pop (p->LS, 1);
return 1;
}
@@ -1670,11 +1678,11 @@
rde_stack_pop (p->mark, 1);
rde_stack_pop (p->LS, 1);
} else {
long int trim = (long int) rde_stack_top (p->mark);
rde_stack_pop (p->mark, 1);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
p->CL = (long int) rde_stack_top (p->LS);
rde_stack_push (p->ES, p->ER);
if (p->ER) { p->ER->refCount ++; }
@@ -1691,11 +1699,11 @@
if (p->ST) {
rde_stack_pop (p->mark, 1);
rde_stack_pop (p->LS, 1);
} else {
long int trim = (long int) rde_stack_top (p->mark);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
p->CL = (long int) rde_stack_top (p->LS);
rde_stack_push (p->ES, p->ER);
if (p->ER) { p->ER->refCount ++; }
@@ -1707,11 +1715,11 @@
/*
* = = == === ===== ======== ============= =====================
*/
SCOPE void
-rde_param_i_next_str (RDE_PARAM p, const char* str, int m)
+rde_param_i_next_str (RDE_PARAM p, const char* str, long int m)
{
int at = p->CL;
/* Future: Place match string into a shared table of constants, like error
* messages, indexed by code. Precomputed length information.
@@ -1741,11 +1749,11 @@
str = Tcl_UtfNext (str);
}
}
SCOPE void
-rde_param_i_next_class (RDE_PARAM p, const char* class, int m)
+rde_param_i_next_class (RDE_PARAM p, const char* class, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
while (*class) {
Index: modules/pt/rde_critcl/param.h
==================================================================
--- modules/pt/rde_critcl/param.h
+++ modules/pt/rde_critcl/param.h
@@ -43,11 +43,11 @@
/* Accessors
*/
SCOPE ClientData rde_param_query_clientdata (RDE_PARAM p);
-SCOPE void rde_param_query_amark (RDE_PARAM p, long int* mc, long int** mv);
+SCOPE void rde_param_query_amark (RDE_PARAM p, long int* mc, void*** mv);
SCOPE void rde_param_query_ast (RDE_PARAM p, long int* ac, Tcl_Obj*** av);
SCOPE const char* rde_param_query_in (RDE_PARAM p);
SCOPE const char* rde_param_query_cc (RDE_PARAM p, long int* len);
SCOPE int rde_param_query_cl (RDE_PARAM p);
SCOPE const ERROR_STATE* rde_param_query_er (RDE_PARAM p);
@@ -70,30 +70,30 @@
SCOPE void rde_param_i_ast_push (RDE_PARAM p);
SCOPE void rde_param_i_ast_rewind (RDE_PARAM p);
SCOPE void rde_param_i_ast_value_push (RDE_PARAM p);
SCOPE void rde_param_i_error_clear (RDE_PARAM p);
-SCOPE void rde_param_i_error_nonterminal (RDE_PARAM p, int s);
+SCOPE void rde_param_i_error_nonterminal (RDE_PARAM p, long int s);
SCOPE void rde_param_i_error_pop_merge (RDE_PARAM p);
SCOPE void rde_param_i_error_push (RDE_PARAM p);
SCOPE void rde_param_i_loc_pop_discard (RDE_PARAM p);
SCOPE void rde_param_i_loc_pop_rewind (RDE_PARAM p);
SCOPE void rde_param_i_loc_push (RDE_PARAM p);
SCOPE void rde_param_i_loc_rewind (RDE_PARAM p);
-SCOPE void rde_param_i_input_next (RDE_PARAM p, int m);
+SCOPE void rde_param_i_input_next (RDE_PARAM p, long int m);
SCOPE void rde_param_i_status_fail (RDE_PARAM p);
SCOPE void rde_param_i_status_ok (RDE_PARAM p);
SCOPE void rde_param_i_status_negate (RDE_PARAM p);
-SCOPE int rde_param_i_symbol_restore (RDE_PARAM p, int s);
-SCOPE void rde_param_i_symbol_save (RDE_PARAM p, int s);
+SCOPE int rde_param_i_symbol_restore (RDE_PARAM p, long int s);
+SCOPE void rde_param_i_symbol_save (RDE_PARAM p, long int s);
-SCOPE void rde_param_i_test_char (RDE_PARAM p, const char* c, int m);
-SCOPE void rde_param_i_test_range (RDE_PARAM p, char* s, char* e, int m);
+SCOPE void rde_param_i_test_char (RDE_PARAM p, const char* c, long int m);
+SCOPE void rde_param_i_test_range (RDE_PARAM p, const char* s, const char* e, long int m);
SCOPE void rde_param_i_test_alnum (RDE_PARAM p);
SCOPE void rde_param_i_test_alpha (RDE_PARAM p);
SCOPE void rde_param_i_test_ascii (RDE_PARAM p);
SCOPE void rde_param_i_test_control (RDE_PARAM p);
@@ -107,44 +107,44 @@
SCOPE void rde_param_i_test_upper (RDE_PARAM p);
SCOPE void rde_param_i_test_wordchar (RDE_PARAM p);
SCOPE void rde_param_i_test_xdigit (RDE_PARAM p);
SCOPE void rde_param_i_value_clear (RDE_PARAM p);
-SCOPE void rde_param_i_value_leaf (RDE_PARAM p, int s);
-SCOPE void rde_param_i_value_reduce (RDE_PARAM p, int s);
+SCOPE void rde_param_i_value_leaf (RDE_PARAM p, long int s);
+SCOPE void rde_param_i_value_reduce (RDE_PARAM p, long int s);
/* Super Instructions - Aggregated common instruction sequences.
*/
-SCOPE int rde_param_i_symbol_start (RDE_PARAM p, int s);
-SCOPE int rde_param_i_symbol_start_d (RDE_PARAM p, int s);
-SCOPE int rde_param_i_symbol_void_start (RDE_PARAM p, int s);
-SCOPE int rde_param_i_symbol_void_start_d (RDE_PARAM p, int s);
-
-SCOPE void rde_param_i_symbol_done_d_reduce (RDE_PARAM p, int s, int m);
-SCOPE void rde_param_i_symbol_done_leaf (RDE_PARAM p, int s, int m);
-SCOPE void rde_param_i_symbol_done_d_leaf (RDE_PARAM p, int s, int m);
-SCOPE void rde_param_i_symbol_done_void (RDE_PARAM p, int s, int m);
-SCOPE void rde_param_i_symbol_done_d_void (RDE_PARAM p, int s, int m);
-
-SCOPE void rde_param_i_next_char (RDE_PARAM p, char* c, int m);
-SCOPE void rde_param_i_next_range (RDE_PARAM p, char* s, char* e, int m);
-
-SCOPE void rde_param_i_next_alnum (RDE_PARAM p, int m);
-SCOPE void rde_param_i_next_alpha (RDE_PARAM p, int m);
-SCOPE void rde_param_i_next_ascii (RDE_PARAM p, int m);
-SCOPE void rde_param_i_next_control (RDE_PARAM p, int m);
-SCOPE void rde_param_i_next_ddigit (RDE_PARAM p, int m);
-SCOPE void rde_param_i_next_digit (RDE_PARAM p, int m);
-SCOPE void rde_param_i_next_graph (RDE_PARAM p, int m);
-SCOPE void rde_param_i_next_lower (RDE_PARAM p, int m);
-SCOPE void rde_param_i_next_print (RDE_PARAM p, int m);
-SCOPE void rde_param_i_next_punct (RDE_PARAM p, int m);
-SCOPE void rde_param_i_next_space (RDE_PARAM p, int m);
-SCOPE void rde_param_i_next_upper (RDE_PARAM p, int m);
-SCOPE void rde_param_i_next_wordchar (RDE_PARAM p, int m);
-SCOPE void rde_param_i_next_xdigit (RDE_PARAM p, int m);
+SCOPE int rde_param_i_symbol_start (RDE_PARAM p, long int s);
+SCOPE int rde_param_i_symbol_start_d (RDE_PARAM p, long int s);
+SCOPE int rde_param_i_symbol_void_start (RDE_PARAM p, long int s);
+SCOPE int rde_param_i_symbol_void_start_d (RDE_PARAM p, long int s);
+
+SCOPE void rde_param_i_symbol_done_d_reduce (RDE_PARAM p, long int s, long int m);
+SCOPE void rde_param_i_symbol_done_leaf (RDE_PARAM p, long int s, long int m);
+SCOPE void rde_param_i_symbol_done_d_leaf (RDE_PARAM p, long int s, long int m);
+SCOPE void rde_param_i_symbol_done_void (RDE_PARAM p, long int s, long int m);
+SCOPE void rde_param_i_symbol_done_d_void (RDE_PARAM p, long int s, long int m);
+
+SCOPE void rde_param_i_next_char (RDE_PARAM p, const char* c, long int m);
+SCOPE void rde_param_i_next_range (RDE_PARAM p, const char* s, const char* e, long int m);
+
+SCOPE void rde_param_i_next_alnum (RDE_PARAM p, long int m);
+SCOPE void rde_param_i_next_alpha (RDE_PARAM p, long int m);
+SCOPE void rde_param_i_next_ascii (RDE_PARAM p, long int m);
+SCOPE void rde_param_i_next_control (RDE_PARAM p, long int m);
+SCOPE void rde_param_i_next_ddigit (RDE_PARAM p, long int m);
+SCOPE void rde_param_i_next_digit (RDE_PARAM p, long int m);
+SCOPE void rde_param_i_next_graph (RDE_PARAM p, long int m);
+SCOPE void rde_param_i_next_lower (RDE_PARAM p, long int m);
+SCOPE void rde_param_i_next_print (RDE_PARAM p, long int m);
+SCOPE void rde_param_i_next_punct (RDE_PARAM p, long int m);
+SCOPE void rde_param_i_next_space (RDE_PARAM p, long int m);
+SCOPE void rde_param_i_next_upper (RDE_PARAM p, long int m);
+SCOPE void rde_param_i_next_wordchar (RDE_PARAM p, long int m);
+SCOPE void rde_param_i_next_xdigit (RDE_PARAM p, long int m);
SCOPE void rde_param_i_notahead_start_d (RDE_PARAM p);
SCOPE void rde_param_i_notahead_exit_d (RDE_PARAM p);
SCOPE void rde_param_i_notahead_exit (RDE_PARAM p);
@@ -166,12 +166,12 @@
SCOPE int rde_param_i_bra_void2void (RDE_PARAM p);
SCOPE int rde_param_i_bra_void2value (RDE_PARAM p);
SCOPE int rde_param_i_bra_value2void (RDE_PARAM p);
SCOPE int rde_param_i_bra_value2value (RDE_PARAM p);
-SCOPE void rde_param_i_next_str (RDE_PARAM p, const char* str, int m);
-SCOPE void rde_param_i_next_class (RDE_PARAM p, const char* class, int m);
+SCOPE void rde_param_i_next_str (RDE_PARAM p, const char* str, long int m);
+SCOPE void rde_param_i_next_class (RDE_PARAM p, const char* class, long int m);
/* SKIP END */
#endif /* _RDE_DS_PARAM_H */
/*
Index: modules/pt/rde_critcl/tc.c
==================================================================
--- modules/pt/rde_critcl/tc.c
+++ modules/pt/rde_critcl/tc.c
@@ -121,21 +121,21 @@
SCOPE void
rde_tc_get (RDE_TC tc, int at, char** ch, long int* len)
{
long int oc, off, top, end;
- long int* ov;
+ void** ov;
- rde_stack_get (tc->off, &oc, (void***) &ov);
+ rde_stack_get (tc->off, &oc, &ov);
ASSERT_BOUNDS(at,oc);
- off = ov [at];
+ off = (long int) ov [at];
if ((at+1) == oc) {
end = tc->num;
} else {
- end = ov [at+1];
+ end = (long int) ov [at+1];
}
TRACE (("rde_tc_get (RDE_TC %p, @ %d) => %d.[%d ... %d]/%d",tc,at,end-off,off,end-1,tc->num));
ASSERT_BOUNDS(off,tc->num);
@@ -147,22 +147,22 @@
SCOPE void
rde_tc_get_s (RDE_TC tc, int at, int last, char** ch, long int* len)
{
long int oc, off, top, end;
- long int* ov;
+ void** ov;
- rde_stack_get (tc->off, &oc, (void***) &ov);
+ rde_stack_get (tc->off, &oc, &ov);
ASSERT_BOUNDS(at,oc);
ASSERT_BOUNDS(last,oc);
- off = ov [at];
+ off = (long int) ov [at];
if ((last+1) == oc) {
end = tc->num;
} else {
- end = ov [last+1];
+ end = (long int) ov [last+1];
}
TRACE (("rde_tc_get_s (RDE_TC %p, @ %d .. %d) => %d.[%d ... %d]/%d",tc,at,last,end-off,off,end-1,tc->num));
ASSERT_BOUNDS(off,tc->num);
Index: modules/pt/tests/data/ok/peg_cparam-critcl/0_basic_arithmetic
==================================================================
--- modules/pt/tests/data/ok/peg_cparam-critcl/0_basic_arithmetic
+++ modules/pt/tests/data/ok/peg_cparam-critcl/0_basic_arithmetic
@@ -417,18 +417,18 @@
}
SCOPE void
rde_tc_get (RDE_TC tc, int at, char** ch, long int* len)
{
long int oc, off, top, end;
- long int* ov;
- rde_stack_get (tc->off, &oc, (void***) &ov);
+ void** ov;
+ rde_stack_get (tc->off, &oc, &ov);
ASSERT_BOUNDS(at,oc);
- off = ov [at];
+ off = (long int) ov [at];
if ((at+1) == oc) {
end = tc->num;
} else {
- end = ov [at+1];
+ end = (long int) ov [at+1];
}
TRACE (("rde_tc_get (RDE_TC %p, @ %d) => %d.[%d ... %d]/%d",tc,at,end-off,off,end-1,tc->num));
ASSERT_BOUNDS(off,tc->num);
ASSERT_BOUNDS(end-1,tc->num);
*ch = tc->str + off;
@@ -436,19 +436,19 @@
}
SCOPE void
rde_tc_get_s (RDE_TC tc, int at, int last, char** ch, long int* len)
{
long int oc, off, top, end;
- long int* ov;
- rde_stack_get (tc->off, &oc, (void***) &ov);
+ void** ov;
+ rde_stack_get (tc->off, &oc, &ov);
ASSERT_BOUNDS(at,oc);
ASSERT_BOUNDS(last,oc);
- off = ov [at];
+ off = (long int) ov [at];
if ((last+1) == oc) {
end = tc->num;
} else {
- end = ov [last+1];
+ end = (long int) ov [last+1];
}
TRACE (("rde_tc_get_s (RDE_TC %p, @ %d .. %d) => %d.[%d ... %d]/%d",tc,at,last,end-off,off,end-1,tc->num));
ASSERT_BOUNDS(off,tc->num);
ASSERT_BOUNDS(end-1,tc->num);
*ch = tc->str + off;
@@ -497,11 +497,11 @@
tc_wordchar,
tc_xdigit
} test_class_id;
static void ast_node_free (void* n);
static void error_state_free (void* es);
- static void error_set (RDE_PARAM p, int s);
+ static void error_set (RDE_PARAM p, long int s);
static void nc_clear (RDE_PARAM p);
static int UniCharIsAscii (int character);
static int UniCharIsHexDigit (int character);
static int UniCharIsDecDigit (int character);
static void test_class (RDE_PARAM p, UniCharClass class, test_class_id id);
@@ -650,13 +650,13 @@
rde_param_query_clientdata (RDE_PARAM p)
{
return p->clientData;
}
SCOPE void
- rde_param_query_amark (RDE_PARAM p, long int* mc, long int** mv)
+ rde_param_query_amark (RDE_PARAM p, long int* mc, void*** mv)
{
- rde_stack_get (p->mark, mc, (void***) mv);
+ rde_stack_get (p->mark, mc, mv);
}
SCOPE void
rde_param_query_ast (RDE_PARAM p, long int* ac, Tcl_Obj*** av)
{
rde_stack_get (p->ast, ac, (void***) av);
@@ -693,25 +693,25 @@
res = Tcl_NewStringObj ("", 0);
} else {
Tcl_Obj* ov [2];
Tcl_Obj** mov;
long int mc, i, j;
- long int* mv;
+ void** mv;
int lastid;
const char* msg;
- rde_stack_get (er->msg, &mc, (void***) &mv);
+ rde_stack_get (er->msg, &mc, &mv);
- qsort (mv, mc, sizeof (long int), er_int_compare);
+ qsort (mv, mc, sizeof (void*), er_int_compare);
mov = NALLOC (mc, Tcl_Obj*);
lastid = -1;
for (i=0, j=0; i < mc; i++) {
ASSERT_BOUNDS (i,mc);
- if (mv [i] == lastid) continue;
- lastid = mv [i];
- ASSERT_BOUNDS(mv[i],p->numstr);
- msg = p->string [mv[i]];
+ if (((long int) mv [i]) == lastid) continue;
+ lastid = (long int) mv [i];
+ ASSERT_BOUNDS((long int) mv[i],p->numstr);
+ msg = p->string [(long int) mv[i]];
ASSERT_BOUNDS (j,mc);
mov [j] = Tcl_NewStringObj (msg, -1);
j++;
}
@@ -780,11 +780,11 @@
{
long int trim = (long int) rde_stack_top (p->mark);
ENTER ("rde_param_i_ast_pop_rewind");
TRACE (("RDE_PARAM %p",p));
rde_stack_pop (p->mark, 1);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
TRACE (("SV = (%p rc%d '%s')",
p->SV,
p->SV ? p->SV->refCount : -1,
p->SV ? Tcl_GetString (p->SV) : ""));
RETURNVOID;
@@ -793,11 +793,11 @@
rde_param_i_ast_rewind (RDE_PARAM p)
{
long int trim = (long int) rde_stack_top (p->mark);
ENTER ("rde_param_i_ast_rewind");
TRACE (("RDE_PARAM %p",p));
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
TRACE (("SV = (%p rc%d '%s')",
p->SV,
p->SV ? p->SV->refCount : -1,
p->SV ? Tcl_GetString (p->SV) : ""));
RETURNVOID;
@@ -828,11 +828,11 @@
rde_param_i_error_clear (RDE_PARAM p)
{
ER_CLEAR (p);
}
SCOPE void
- rde_param_i_error_nonterminal (RDE_PARAM p, int s)
+ rde_param_i_error_nonterminal (RDE_PARAM p, long int s)
{
return;
long int pos;
if (!p->ER) return;
@@ -884,11 +884,11 @@
{
rde_stack_push (p->ES, p->ER);
if (p->ER) { p->ER->refCount ++; }
}
static void
- error_set (RDE_PARAM p, int s)
+ error_set (RDE_PARAM p, long int s)
{
error_state_free (p->ER);
p->ER = ALLOC (ERROR_STATE);
p->ER->refCount = 1;
p->ER->loc = p->CL;
@@ -926,11 +926,11 @@
rde_param_i_loc_rewind (RDE_PARAM p)
{
p->CL = (long int) rde_stack_top (p->LS);
}
SCOPE void
- rde_param_i_input_next (RDE_PARAM p, int m)
+ rde_param_i_input_next (RDE_PARAM p, long int m)
{
int leni;
char* ch;
ASSERT_BOUNDS(m,p->numstr);
p->CL ++;
@@ -972,11 +972,11 @@
rde_param_i_status_negate (RDE_PARAM p)
{
p->ST = !p->ST;
}
SCOPE int
- rde_param_i_symbol_restore (RDE_PARAM p, int s)
+ rde_param_i_symbol_restore (RDE_PARAM p, long int s)
{
NC_STATE* scs;
Tcl_HashEntry* hPtr;
Tcl_HashTable* tablePtr;
@@ -995,11 +995,11 @@
TRACE (("SV_RESTORE (%p) '%s'",scs->SV, scs->SV ? Tcl_GetString (scs->SV):""));
SV_SET (p, scs->SV);
return 1;
}
SCOPE void
- rde_param_i_symbol_save (RDE_PARAM p, int s)
+ rde_param_i_symbol_save (RDE_PARAM p, long int s)
{
long int at = (long int) rde_stack_top (p->LS);
NC_STATE* scs;
Tcl_HashEntry* hPtr;
Tcl_HashTable* tablePtr;
@@ -1066,11 +1066,11 @@
rde_param_i_test_control (RDE_PARAM p)
{
test_class (p, Tcl_UniCharIsControl, tc_control);
}
SCOPE void
- rde_param_i_test_char (RDE_PARAM p, const char* c, int msg)
+ rde_param_i_test_char (RDE_PARAM p, const char* c, long int msg)
{
ASSERT_BOUNDS(msg,p->numstr);
p->ST = Tcl_UtfNcmp (p->CC, c, 1) == 0;
if (p->ST) {
ER_CLEAR (p);
@@ -1108,11 +1108,11 @@
rde_param_i_test_punct (RDE_PARAM p)
{
test_class (p, Tcl_UniCharIsPunct, tc_punct);
}
SCOPE void
- rde_param_i_test_range (RDE_PARAM p, char* s, char* e, int msg)
+ rde_param_i_test_range (RDE_PARAM p, const char* s, const char* e, long int msg)
{
ASSERT_BOUNDS(msg,p->numstr);
p->ST =
(Tcl_UtfNcmp (s, p->CC, 1) <= 0) &&
(Tcl_UtfNcmp (p->CC, e, 1) <= 0);
@@ -1177,11 +1177,11 @@
rde_param_i_value_clear (RDE_PARAM p)
{
SV_CLEAR (p);
}
SCOPE void
- rde_param_i_value_leaf (RDE_PARAM p, int s)
+ rde_param_i_value_leaf (RDE_PARAM p, long int s)
{
Tcl_Obj* newsv;
Tcl_Obj* ov [3];
long int pos = 1 + (long int) rde_stack_top (p->LS);
ASSERT_BOUNDS(s,p->numstr);
@@ -1191,11 +1191,11 @@
newsv = Tcl_NewListObj (3, ov);
TRACE (("rde_param_i_value_leaf => '%s'",Tcl_GetString (newsv)));
SV_SET (p, newsv);
}
SCOPE void
- rde_param_i_value_reduce (RDE_PARAM p, int s)
+ rde_param_i_value_reduce (RDE_PARAM p, long int s)
{
Tcl_Obj* newsv;
int oc, i, j;
Tcl_Obj** ov;
long int ac;
@@ -1223,18 +1223,21 @@
ckfree ((char*) ov);
}
static int
er_int_compare (const void* a, const void* b)
{
- long int ai = *((long int*) a);
- long int bi = *((long int*) b);
- if (ai < bi) { return -1; }
- if (ai > bi) { return 1; }
+
+ const void** ael = (const void**) a;
+ const void** bel = (const void**) b;
+ long int avalue = (long int) *ael;
+ long int bvalue = (long int) *bel;
+ if (avalue < bvalue) { return -1; }
+ if (avalue > bvalue) { return 1; }
return 0;
}
SCOPE int
- rde_param_i_symbol_start (RDE_PARAM p, int s)
+ rde_param_i_symbol_start (RDE_PARAM p, long int s)
{
if (rde_param_i_symbol_restore (p, s)) {
if (p->ST) {
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
@@ -1243,11 +1246,11 @@
}
rde_stack_push (p->LS, (void*) p->CL);
return 0;
}
SCOPE int
- rde_param_i_symbol_start_d (RDE_PARAM p, int s)
+ rde_param_i_symbol_start_d (RDE_PARAM p, long int s)
{
if (rde_param_i_symbol_restore (p, s)) {
if (p->ST) {
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
@@ -1257,26 +1260,26 @@
rde_stack_push (p->LS, (void*) p->CL);
rde_stack_push (p->mark, (void*) rde_stack_size (p->ast));
return 0;
}
SCOPE int
- rde_param_i_symbol_void_start (RDE_PARAM p, int s)
+ rde_param_i_symbol_void_start (RDE_PARAM p, long int s)
{
if (rde_param_i_symbol_restore (p, s)) return 1;
rde_stack_push (p->LS, (void*) p->CL);
return 0;
}
SCOPE int
- rde_param_i_symbol_void_start_d (RDE_PARAM p, int s)
+ rde_param_i_symbol_void_start_d (RDE_PARAM p, long int s)
{
if (rde_param_i_symbol_restore (p, s)) return 1;
rde_stack_push (p->LS, (void*) p->CL);
rde_stack_push (p->mark, (void*) rde_stack_size (p->ast));
return 0;
}
SCOPE void
- rde_param_i_symbol_done_d_reduce (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_d_reduce (RDE_PARAM p, long int s, long int m)
{
if (p->ST) {
rde_param_i_value_reduce (p, s);
} else {
SV_CLEAR (p);
@@ -1289,11 +1292,11 @@
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
}
}
SCOPE void
- rde_param_i_symbol_done_leaf (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_leaf (RDE_PARAM p, long int s, long int m)
{
if (p->ST) {
rde_param_i_value_leaf (p, s);
} else {
SV_CLEAR (p);
@@ -1305,11 +1308,11 @@
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
}
}
SCOPE void
- rde_param_i_symbol_done_d_leaf (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_d_leaf (RDE_PARAM p, long int s, long int m)
{
if (p->ST) {
rde_param_i_value_leaf (p, s);
} else {
SV_CLEAR (p);
@@ -1322,133 +1325,133 @@
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
}
}
SCOPE void
- rde_param_i_symbol_done_void (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_void (RDE_PARAM p, long int s, long int m)
{
SV_CLEAR (p);
rde_param_i_symbol_save (p, s);
rde_param_i_error_nonterminal (p, m);
rde_stack_pop (p->LS, 1);
}
SCOPE void
- rde_param_i_symbol_done_d_void (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_d_void (RDE_PARAM p, long int s, long int m)
{
SV_CLEAR (p);
rde_param_i_symbol_save (p, s);
rde_param_i_error_nonterminal (p, m);
rde_param_i_ast_pop_rewind (p);
rde_stack_pop (p->LS, 1);
}
SCOPE void
- rde_param_i_next_char (RDE_PARAM p, char* c, int m)
+ rde_param_i_next_char (RDE_PARAM p, const char* c, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_char (p, c, m);
}
SCOPE void
- rde_param_i_next_range (RDE_PARAM p, char* s, char* e, int m)
+ rde_param_i_next_range (RDE_PARAM p, const char* s, const char* e, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_range (p, s, e, m);
}
SCOPE void
- rde_param_i_next_alnum (RDE_PARAM p, int m)
+ rde_param_i_next_alnum (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_alnum (p);
}
SCOPE void
- rde_param_i_next_alpha (RDE_PARAM p, int m)
+ rde_param_i_next_alpha (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_alpha (p);
}
SCOPE void
- rde_param_i_next_ascii (RDE_PARAM p, int m)
+ rde_param_i_next_ascii (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_ascii (p);
}
SCOPE void
- rde_param_i_next_control (RDE_PARAM p, int m)
+ rde_param_i_next_control (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_control (p);
}
SCOPE void
- rde_param_i_next_ddigit (RDE_PARAM p, int m)
+ rde_param_i_next_ddigit (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_ddigit (p);
}
SCOPE void
- rde_param_i_next_digit (RDE_PARAM p, int m)
+ rde_param_i_next_digit (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_digit (p);
}
SCOPE void
- rde_param_i_next_graph (RDE_PARAM p, int m)
+ rde_param_i_next_graph (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_graph (p);
}
SCOPE void
- rde_param_i_next_lower (RDE_PARAM p, int m)
+ rde_param_i_next_lower (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_lower (p);
}
SCOPE void
- rde_param_i_next_print (RDE_PARAM p, int m)
+ rde_param_i_next_print (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_print (p);
}
SCOPE void
- rde_param_i_next_punct (RDE_PARAM p, int m)
+ rde_param_i_next_punct (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_punct (p);
}
SCOPE void
- rde_param_i_next_space (RDE_PARAM p, int m)
+ rde_param_i_next_space (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_space (p);
}
SCOPE void
- rde_param_i_next_upper (RDE_PARAM p, int m)
+ rde_param_i_next_upper (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_upper (p);
}
SCOPE void
- rde_param_i_next_wordchar (RDE_PARAM p, int m)
+ rde_param_i_next_wordchar (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_wordchar (p);
}
SCOPE void
- rde_param_i_next_xdigit (RDE_PARAM p, int m)
+ rde_param_i_next_xdigit (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_xdigit (p);
}
@@ -1525,11 +1528,11 @@
rde_param_i_state_merge_value (RDE_PARAM p)
{
rde_param_i_error_pop_merge (p);
if (!p->ST) {
long int trim = (long int) rde_stack_top (p->mark);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
p->CL = (long int) rde_stack_top (p->LS);
}
rde_stack_pop (p->mark, 1);
rde_stack_pop (p->LS, 1);
}
@@ -1593,11 +1596,11 @@
if (p->ER) { p->ER->refCount ++; }
return 0;
} else {
long int trim = (long int) rde_stack_top (p->mark);
rde_stack_pop (p->mark, 1);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
p->CL = (long int) rde_stack_top (p->LS);
rde_stack_pop (p->LS, 1);
return 1;
}
}
@@ -1636,11 +1639,11 @@
rde_stack_pop (p->mark, 1);
rde_stack_pop (p->LS, 1);
} else {
long int trim = (long int) rde_stack_top (p->mark);
rde_stack_pop (p->mark, 1);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
p->CL = (long int) rde_stack_top (p->LS);
rde_stack_push (p->ES, p->ER);
if (p->ER) { p->ER->refCount ++; }
}
return p->ST;
@@ -1652,19 +1655,19 @@
if (p->ST) {
rde_stack_pop (p->mark, 1);
rde_stack_pop (p->LS, 1);
} else {
long int trim = (long int) rde_stack_top (p->mark);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
p->CL = (long int) rde_stack_top (p->LS);
rde_stack_push (p->ES, p->ER);
if (p->ER) { p->ER->refCount ++; }
}
return p->ST;
}
SCOPE void
- rde_param_i_next_str (RDE_PARAM p, const char* str, int m)
+ rde_param_i_next_str (RDE_PARAM p, const char* str, long int m)
{
int at = p->CL;
while (*str) {
rde_param_i_input_next (p, m);
@@ -1681,11 +1684,11 @@
}
str = Tcl_UtfNext (str);
}
}
SCOPE void
- rde_param_i_next_class (RDE_PARAM p, const char* class, int m)
+ rde_param_i_next_class (RDE_PARAM p, const char* class, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
while (*class) {
p->ST = Tcl_UtfNcmp (p->CC, class, 1) == 0;
@@ -2145,11 +2148,11 @@
Tcl_SetAssocData (interp, KEY, proc,
(ClientData) parserg);
}
parserg->counter ++;
- sprintf (parserg->buf, "PARSER%d", parserg->counter);
+ sprintf (parserg->buf, "PARSER%ld", parserg->counter);
return parserg->buf;
#undef KEY
}
static void
Index: modules/pt/tests/data/ok/peg_cparam-critcl/10_notahead
==================================================================
--- modules/pt/tests/data/ok/peg_cparam-critcl/10_notahead
+++ modules/pt/tests/data/ok/peg_cparam-critcl/10_notahead
@@ -417,18 +417,18 @@
}
SCOPE void
rde_tc_get (RDE_TC tc, int at, char** ch, long int* len)
{
long int oc, off, top, end;
- long int* ov;
- rde_stack_get (tc->off, &oc, (void***) &ov);
+ void** ov;
+ rde_stack_get (tc->off, &oc, &ov);
ASSERT_BOUNDS(at,oc);
- off = ov [at];
+ off = (long int) ov [at];
if ((at+1) == oc) {
end = tc->num;
} else {
- end = ov [at+1];
+ end = (long int) ov [at+1];
}
TRACE (("rde_tc_get (RDE_TC %p, @ %d) => %d.[%d ... %d]/%d",tc,at,end-off,off,end-1,tc->num));
ASSERT_BOUNDS(off,tc->num);
ASSERT_BOUNDS(end-1,tc->num);
*ch = tc->str + off;
@@ -436,19 +436,19 @@
}
SCOPE void
rde_tc_get_s (RDE_TC tc, int at, int last, char** ch, long int* len)
{
long int oc, off, top, end;
- long int* ov;
- rde_stack_get (tc->off, &oc, (void***) &ov);
+ void** ov;
+ rde_stack_get (tc->off, &oc, &ov);
ASSERT_BOUNDS(at,oc);
ASSERT_BOUNDS(last,oc);
- off = ov [at];
+ off = (long int) ov [at];
if ((last+1) == oc) {
end = tc->num;
} else {
- end = ov [last+1];
+ end = (long int) ov [last+1];
}
TRACE (("rde_tc_get_s (RDE_TC %p, @ %d .. %d) => %d.[%d ... %d]/%d",tc,at,last,end-off,off,end-1,tc->num));
ASSERT_BOUNDS(off,tc->num);
ASSERT_BOUNDS(end-1,tc->num);
*ch = tc->str + off;
@@ -497,11 +497,11 @@
tc_wordchar,
tc_xdigit
} test_class_id;
static void ast_node_free (void* n);
static void error_state_free (void* es);
- static void error_set (RDE_PARAM p, int s);
+ static void error_set (RDE_PARAM p, long int s);
static void nc_clear (RDE_PARAM p);
static int UniCharIsAscii (int character);
static int UniCharIsHexDigit (int character);
static int UniCharIsDecDigit (int character);
static void test_class (RDE_PARAM p, UniCharClass class, test_class_id id);
@@ -650,13 +650,13 @@
rde_param_query_clientdata (RDE_PARAM p)
{
return p->clientData;
}
SCOPE void
- rde_param_query_amark (RDE_PARAM p, long int* mc, long int** mv)
+ rde_param_query_amark (RDE_PARAM p, long int* mc, void*** mv)
{
- rde_stack_get (p->mark, mc, (void***) mv);
+ rde_stack_get (p->mark, mc, mv);
}
SCOPE void
rde_param_query_ast (RDE_PARAM p, long int* ac, Tcl_Obj*** av)
{
rde_stack_get (p->ast, ac, (void***) av);
@@ -693,25 +693,25 @@
res = Tcl_NewStringObj ("", 0);
} else {
Tcl_Obj* ov [2];
Tcl_Obj** mov;
long int mc, i, j;
- long int* mv;
+ void** mv;
int lastid;
const char* msg;
- rde_stack_get (er->msg, &mc, (void***) &mv);
+ rde_stack_get (er->msg, &mc, &mv);
- qsort (mv, mc, sizeof (long int), er_int_compare);
+ qsort (mv, mc, sizeof (void*), er_int_compare);
mov = NALLOC (mc, Tcl_Obj*);
lastid = -1;
for (i=0, j=0; i < mc; i++) {
ASSERT_BOUNDS (i,mc);
- if (mv [i] == lastid) continue;
- lastid = mv [i];
- ASSERT_BOUNDS(mv[i],p->numstr);
- msg = p->string [mv[i]];
+ if (((long int) mv [i]) == lastid) continue;
+ lastid = (long int) mv [i];
+ ASSERT_BOUNDS((long int) mv[i],p->numstr);
+ msg = p->string [(long int) mv[i]];
ASSERT_BOUNDS (j,mc);
mov [j] = Tcl_NewStringObj (msg, -1);
j++;
}
@@ -780,11 +780,11 @@
{
long int trim = (long int) rde_stack_top (p->mark);
ENTER ("rde_param_i_ast_pop_rewind");
TRACE (("RDE_PARAM %p",p));
rde_stack_pop (p->mark, 1);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
TRACE (("SV = (%p rc%d '%s')",
p->SV,
p->SV ? p->SV->refCount : -1,
p->SV ? Tcl_GetString (p->SV) : ""));
RETURNVOID;
@@ -793,11 +793,11 @@
rde_param_i_ast_rewind (RDE_PARAM p)
{
long int trim = (long int) rde_stack_top (p->mark);
ENTER ("rde_param_i_ast_rewind");
TRACE (("RDE_PARAM %p",p));
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
TRACE (("SV = (%p rc%d '%s')",
p->SV,
p->SV ? p->SV->refCount : -1,
p->SV ? Tcl_GetString (p->SV) : ""));
RETURNVOID;
@@ -828,11 +828,11 @@
rde_param_i_error_clear (RDE_PARAM p)
{
ER_CLEAR (p);
}
SCOPE void
- rde_param_i_error_nonterminal (RDE_PARAM p, int s)
+ rde_param_i_error_nonterminal (RDE_PARAM p, long int s)
{
return;
long int pos;
if (!p->ER) return;
@@ -884,11 +884,11 @@
{
rde_stack_push (p->ES, p->ER);
if (p->ER) { p->ER->refCount ++; }
}
static void
- error_set (RDE_PARAM p, int s)
+ error_set (RDE_PARAM p, long int s)
{
error_state_free (p->ER);
p->ER = ALLOC (ERROR_STATE);
p->ER->refCount = 1;
p->ER->loc = p->CL;
@@ -926,11 +926,11 @@
rde_param_i_loc_rewind (RDE_PARAM p)
{
p->CL = (long int) rde_stack_top (p->LS);
}
SCOPE void
- rde_param_i_input_next (RDE_PARAM p, int m)
+ rde_param_i_input_next (RDE_PARAM p, long int m)
{
int leni;
char* ch;
ASSERT_BOUNDS(m,p->numstr);
p->CL ++;
@@ -972,11 +972,11 @@
rde_param_i_status_negate (RDE_PARAM p)
{
p->ST = !p->ST;
}
SCOPE int
- rde_param_i_symbol_restore (RDE_PARAM p, int s)
+ rde_param_i_symbol_restore (RDE_PARAM p, long int s)
{
NC_STATE* scs;
Tcl_HashEntry* hPtr;
Tcl_HashTable* tablePtr;
@@ -995,11 +995,11 @@
TRACE (("SV_RESTORE (%p) '%s'",scs->SV, scs->SV ? Tcl_GetString (scs->SV):""));
SV_SET (p, scs->SV);
return 1;
}
SCOPE void
- rde_param_i_symbol_save (RDE_PARAM p, int s)
+ rde_param_i_symbol_save (RDE_PARAM p, long int s)
{
long int at = (long int) rde_stack_top (p->LS);
NC_STATE* scs;
Tcl_HashEntry* hPtr;
Tcl_HashTable* tablePtr;
@@ -1066,11 +1066,11 @@
rde_param_i_test_control (RDE_PARAM p)
{
test_class (p, Tcl_UniCharIsControl, tc_control);
}
SCOPE void
- rde_param_i_test_char (RDE_PARAM p, const char* c, int msg)
+ rde_param_i_test_char (RDE_PARAM p, const char* c, long int msg)
{
ASSERT_BOUNDS(msg,p->numstr);
p->ST = Tcl_UtfNcmp (p->CC, c, 1) == 0;
if (p->ST) {
ER_CLEAR (p);
@@ -1108,11 +1108,11 @@
rde_param_i_test_punct (RDE_PARAM p)
{
test_class (p, Tcl_UniCharIsPunct, tc_punct);
}
SCOPE void
- rde_param_i_test_range (RDE_PARAM p, char* s, char* e, int msg)
+ rde_param_i_test_range (RDE_PARAM p, const char* s, const char* e, long int msg)
{
ASSERT_BOUNDS(msg,p->numstr);
p->ST =
(Tcl_UtfNcmp (s, p->CC, 1) <= 0) &&
(Tcl_UtfNcmp (p->CC, e, 1) <= 0);
@@ -1177,11 +1177,11 @@
rde_param_i_value_clear (RDE_PARAM p)
{
SV_CLEAR (p);
}
SCOPE void
- rde_param_i_value_leaf (RDE_PARAM p, int s)
+ rde_param_i_value_leaf (RDE_PARAM p, long int s)
{
Tcl_Obj* newsv;
Tcl_Obj* ov [3];
long int pos = 1 + (long int) rde_stack_top (p->LS);
ASSERT_BOUNDS(s,p->numstr);
@@ -1191,11 +1191,11 @@
newsv = Tcl_NewListObj (3, ov);
TRACE (("rde_param_i_value_leaf => '%s'",Tcl_GetString (newsv)));
SV_SET (p, newsv);
}
SCOPE void
- rde_param_i_value_reduce (RDE_PARAM p, int s)
+ rde_param_i_value_reduce (RDE_PARAM p, long int s)
{
Tcl_Obj* newsv;
int oc, i, j;
Tcl_Obj** ov;
long int ac;
@@ -1223,18 +1223,21 @@
ckfree ((char*) ov);
}
static int
er_int_compare (const void* a, const void* b)
{
- long int ai = *((long int*) a);
- long int bi = *((long int*) b);
- if (ai < bi) { return -1; }
- if (ai > bi) { return 1; }
+
+ const void** ael = (const void**) a;
+ const void** bel = (const void**) b;
+ long int avalue = (long int) *ael;
+ long int bvalue = (long int) *bel;
+ if (avalue < bvalue) { return -1; }
+ if (avalue > bvalue) { return 1; }
return 0;
}
SCOPE int
- rde_param_i_symbol_start (RDE_PARAM p, int s)
+ rde_param_i_symbol_start (RDE_PARAM p, long int s)
{
if (rde_param_i_symbol_restore (p, s)) {
if (p->ST) {
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
@@ -1243,11 +1246,11 @@
}
rde_stack_push (p->LS, (void*) p->CL);
return 0;
}
SCOPE int
- rde_param_i_symbol_start_d (RDE_PARAM p, int s)
+ rde_param_i_symbol_start_d (RDE_PARAM p, long int s)
{
if (rde_param_i_symbol_restore (p, s)) {
if (p->ST) {
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
@@ -1257,26 +1260,26 @@
rde_stack_push (p->LS, (void*) p->CL);
rde_stack_push (p->mark, (void*) rde_stack_size (p->ast));
return 0;
}
SCOPE int
- rde_param_i_symbol_void_start (RDE_PARAM p, int s)
+ rde_param_i_symbol_void_start (RDE_PARAM p, long int s)
{
if (rde_param_i_symbol_restore (p, s)) return 1;
rde_stack_push (p->LS, (void*) p->CL);
return 0;
}
SCOPE int
- rde_param_i_symbol_void_start_d (RDE_PARAM p, int s)
+ rde_param_i_symbol_void_start_d (RDE_PARAM p, long int s)
{
if (rde_param_i_symbol_restore (p, s)) return 1;
rde_stack_push (p->LS, (void*) p->CL);
rde_stack_push (p->mark, (void*) rde_stack_size (p->ast));
return 0;
}
SCOPE void
- rde_param_i_symbol_done_d_reduce (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_d_reduce (RDE_PARAM p, long int s, long int m)
{
if (p->ST) {
rde_param_i_value_reduce (p, s);
} else {
SV_CLEAR (p);
@@ -1289,11 +1292,11 @@
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
}
}
SCOPE void
- rde_param_i_symbol_done_leaf (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_leaf (RDE_PARAM p, long int s, long int m)
{
if (p->ST) {
rde_param_i_value_leaf (p, s);
} else {
SV_CLEAR (p);
@@ -1305,11 +1308,11 @@
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
}
}
SCOPE void
- rde_param_i_symbol_done_d_leaf (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_d_leaf (RDE_PARAM p, long int s, long int m)
{
if (p->ST) {
rde_param_i_value_leaf (p, s);
} else {
SV_CLEAR (p);
@@ -1322,133 +1325,133 @@
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
}
}
SCOPE void
- rde_param_i_symbol_done_void (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_void (RDE_PARAM p, long int s, long int m)
{
SV_CLEAR (p);
rde_param_i_symbol_save (p, s);
rde_param_i_error_nonterminal (p, m);
rde_stack_pop (p->LS, 1);
}
SCOPE void
- rde_param_i_symbol_done_d_void (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_d_void (RDE_PARAM p, long int s, long int m)
{
SV_CLEAR (p);
rde_param_i_symbol_save (p, s);
rde_param_i_error_nonterminal (p, m);
rde_param_i_ast_pop_rewind (p);
rde_stack_pop (p->LS, 1);
}
SCOPE void
- rde_param_i_next_char (RDE_PARAM p, char* c, int m)
+ rde_param_i_next_char (RDE_PARAM p, const char* c, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_char (p, c, m);
}
SCOPE void
- rde_param_i_next_range (RDE_PARAM p, char* s, char* e, int m)
+ rde_param_i_next_range (RDE_PARAM p, const char* s, const char* e, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_range (p, s, e, m);
}
SCOPE void
- rde_param_i_next_alnum (RDE_PARAM p, int m)
+ rde_param_i_next_alnum (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_alnum (p);
}
SCOPE void
- rde_param_i_next_alpha (RDE_PARAM p, int m)
+ rde_param_i_next_alpha (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_alpha (p);
}
SCOPE void
- rde_param_i_next_ascii (RDE_PARAM p, int m)
+ rde_param_i_next_ascii (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_ascii (p);
}
SCOPE void
- rde_param_i_next_control (RDE_PARAM p, int m)
+ rde_param_i_next_control (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_control (p);
}
SCOPE void
- rde_param_i_next_ddigit (RDE_PARAM p, int m)
+ rde_param_i_next_ddigit (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_ddigit (p);
}
SCOPE void
- rde_param_i_next_digit (RDE_PARAM p, int m)
+ rde_param_i_next_digit (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_digit (p);
}
SCOPE void
- rde_param_i_next_graph (RDE_PARAM p, int m)
+ rde_param_i_next_graph (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_graph (p);
}
SCOPE void
- rde_param_i_next_lower (RDE_PARAM p, int m)
+ rde_param_i_next_lower (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_lower (p);
}
SCOPE void
- rde_param_i_next_print (RDE_PARAM p, int m)
+ rde_param_i_next_print (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_print (p);
}
SCOPE void
- rde_param_i_next_punct (RDE_PARAM p, int m)
+ rde_param_i_next_punct (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_punct (p);
}
SCOPE void
- rde_param_i_next_space (RDE_PARAM p, int m)
+ rde_param_i_next_space (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_space (p);
}
SCOPE void
- rde_param_i_next_upper (RDE_PARAM p, int m)
+ rde_param_i_next_upper (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_upper (p);
}
SCOPE void
- rde_param_i_next_wordchar (RDE_PARAM p, int m)
+ rde_param_i_next_wordchar (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_wordchar (p);
}
SCOPE void
- rde_param_i_next_xdigit (RDE_PARAM p, int m)
+ rde_param_i_next_xdigit (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_xdigit (p);
}
@@ -1525,11 +1528,11 @@
rde_param_i_state_merge_value (RDE_PARAM p)
{
rde_param_i_error_pop_merge (p);
if (!p->ST) {
long int trim = (long int) rde_stack_top (p->mark);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
p->CL = (long int) rde_stack_top (p->LS);
}
rde_stack_pop (p->mark, 1);
rde_stack_pop (p->LS, 1);
}
@@ -1593,11 +1596,11 @@
if (p->ER) { p->ER->refCount ++; }
return 0;
} else {
long int trim = (long int) rde_stack_top (p->mark);
rde_stack_pop (p->mark, 1);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
p->CL = (long int) rde_stack_top (p->LS);
rde_stack_pop (p->LS, 1);
return 1;
}
}
@@ -1636,11 +1639,11 @@
rde_stack_pop (p->mark, 1);
rde_stack_pop (p->LS, 1);
} else {
long int trim = (long int) rde_stack_top (p->mark);
rde_stack_pop (p->mark, 1);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
p->CL = (long int) rde_stack_top (p->LS);
rde_stack_push (p->ES, p->ER);
if (p->ER) { p->ER->refCount ++; }
}
return p->ST;
@@ -1652,19 +1655,19 @@
if (p->ST) {
rde_stack_pop (p->mark, 1);
rde_stack_pop (p->LS, 1);
} else {
long int trim = (long int) rde_stack_top (p->mark);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
p->CL = (long int) rde_stack_top (p->LS);
rde_stack_push (p->ES, p->ER);
if (p->ER) { p->ER->refCount ++; }
}
return p->ST;
}
SCOPE void
- rde_param_i_next_str (RDE_PARAM p, const char* str, int m)
+ rde_param_i_next_str (RDE_PARAM p, const char* str, long int m)
{
int at = p->CL;
while (*str) {
rde_param_i_input_next (p, m);
@@ -1681,11 +1684,11 @@
}
str = Tcl_UtfNext (str);
}
}
SCOPE void
- rde_param_i_next_class (RDE_PARAM p, const char* class, int m)
+ rde_param_i_next_class (RDE_PARAM p, const char* class, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
while (*class) {
p->ST = Tcl_UtfNcmp (p->CC, class, 1) == 0;
@@ -1834,11 +1837,11 @@
Tcl_SetAssocData (interp, KEY, proc,
(ClientData) parserg);
}
parserg->counter ++;
- sprintf (parserg->buf, "PARSER%d", parserg->counter);
+ sprintf (parserg->buf, "PARSER%ld", parserg->counter);
return parserg->buf;
#undef KEY
}
static void
Index: modules/pt/tests/data/ok/peg_cparam-critcl/11_epsilon
==================================================================
--- modules/pt/tests/data/ok/peg_cparam-critcl/11_epsilon
+++ modules/pt/tests/data/ok/peg_cparam-critcl/11_epsilon
@@ -417,18 +417,18 @@
}
SCOPE void
rde_tc_get (RDE_TC tc, int at, char** ch, long int* len)
{
long int oc, off, top, end;
- long int* ov;
- rde_stack_get (tc->off, &oc, (void***) &ov);
+ void** ov;
+ rde_stack_get (tc->off, &oc, &ov);
ASSERT_BOUNDS(at,oc);
- off = ov [at];
+ off = (long int) ov [at];
if ((at+1) == oc) {
end = tc->num;
} else {
- end = ov [at+1];
+ end = (long int) ov [at+1];
}
TRACE (("rde_tc_get (RDE_TC %p, @ %d) => %d.[%d ... %d]/%d",tc,at,end-off,off,end-1,tc->num));
ASSERT_BOUNDS(off,tc->num);
ASSERT_BOUNDS(end-1,tc->num);
*ch = tc->str + off;
@@ -436,19 +436,19 @@
}
SCOPE void
rde_tc_get_s (RDE_TC tc, int at, int last, char** ch, long int* len)
{
long int oc, off, top, end;
- long int* ov;
- rde_stack_get (tc->off, &oc, (void***) &ov);
+ void** ov;
+ rde_stack_get (tc->off, &oc, &ov);
ASSERT_BOUNDS(at,oc);
ASSERT_BOUNDS(last,oc);
- off = ov [at];
+ off = (long int) ov [at];
if ((last+1) == oc) {
end = tc->num;
} else {
- end = ov [last+1];
+ end = (long int) ov [last+1];
}
TRACE (("rde_tc_get_s (RDE_TC %p, @ %d .. %d) => %d.[%d ... %d]/%d",tc,at,last,end-off,off,end-1,tc->num));
ASSERT_BOUNDS(off,tc->num);
ASSERT_BOUNDS(end-1,tc->num);
*ch = tc->str + off;
@@ -497,11 +497,11 @@
tc_wordchar,
tc_xdigit
} test_class_id;
static void ast_node_free (void* n);
static void error_state_free (void* es);
- static void error_set (RDE_PARAM p, int s);
+ static void error_set (RDE_PARAM p, long int s);
static void nc_clear (RDE_PARAM p);
static int UniCharIsAscii (int character);
static int UniCharIsHexDigit (int character);
static int UniCharIsDecDigit (int character);
static void test_class (RDE_PARAM p, UniCharClass class, test_class_id id);
@@ -650,13 +650,13 @@
rde_param_query_clientdata (RDE_PARAM p)
{
return p->clientData;
}
SCOPE void
- rde_param_query_amark (RDE_PARAM p, long int* mc, long int** mv)
+ rde_param_query_amark (RDE_PARAM p, long int* mc, void*** mv)
{
- rde_stack_get (p->mark, mc, (void***) mv);
+ rde_stack_get (p->mark, mc, mv);
}
SCOPE void
rde_param_query_ast (RDE_PARAM p, long int* ac, Tcl_Obj*** av)
{
rde_stack_get (p->ast, ac, (void***) av);
@@ -693,25 +693,25 @@
res = Tcl_NewStringObj ("", 0);
} else {
Tcl_Obj* ov [2];
Tcl_Obj** mov;
long int mc, i, j;
- long int* mv;
+ void** mv;
int lastid;
const char* msg;
- rde_stack_get (er->msg, &mc, (void***) &mv);
+ rde_stack_get (er->msg, &mc, &mv);
- qsort (mv, mc, sizeof (long int), er_int_compare);
+ qsort (mv, mc, sizeof (void*), er_int_compare);
mov = NALLOC (mc, Tcl_Obj*);
lastid = -1;
for (i=0, j=0; i < mc; i++) {
ASSERT_BOUNDS (i,mc);
- if (mv [i] == lastid) continue;
- lastid = mv [i];
- ASSERT_BOUNDS(mv[i],p->numstr);
- msg = p->string [mv[i]];
+ if (((long int) mv [i]) == lastid) continue;
+ lastid = (long int) mv [i];
+ ASSERT_BOUNDS((long int) mv[i],p->numstr);
+ msg = p->string [(long int) mv[i]];
ASSERT_BOUNDS (j,mc);
mov [j] = Tcl_NewStringObj (msg, -1);
j++;
}
@@ -780,11 +780,11 @@
{
long int trim = (long int) rde_stack_top (p->mark);
ENTER ("rde_param_i_ast_pop_rewind");
TRACE (("RDE_PARAM %p",p));
rde_stack_pop (p->mark, 1);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
TRACE (("SV = (%p rc%d '%s')",
p->SV,
p->SV ? p->SV->refCount : -1,
p->SV ? Tcl_GetString (p->SV) : ""));
RETURNVOID;
@@ -793,11 +793,11 @@
rde_param_i_ast_rewind (RDE_PARAM p)
{
long int trim = (long int) rde_stack_top (p->mark);
ENTER ("rde_param_i_ast_rewind");
TRACE (("RDE_PARAM %p",p));
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
TRACE (("SV = (%p rc%d '%s')",
p->SV,
p->SV ? p->SV->refCount : -1,
p->SV ? Tcl_GetString (p->SV) : ""));
RETURNVOID;
@@ -828,11 +828,11 @@
rde_param_i_error_clear (RDE_PARAM p)
{
ER_CLEAR (p);
}
SCOPE void
- rde_param_i_error_nonterminal (RDE_PARAM p, int s)
+ rde_param_i_error_nonterminal (RDE_PARAM p, long int s)
{
return;
long int pos;
if (!p->ER) return;
@@ -884,11 +884,11 @@
{
rde_stack_push (p->ES, p->ER);
if (p->ER) { p->ER->refCount ++; }
}
static void
- error_set (RDE_PARAM p, int s)
+ error_set (RDE_PARAM p, long int s)
{
error_state_free (p->ER);
p->ER = ALLOC (ERROR_STATE);
p->ER->refCount = 1;
p->ER->loc = p->CL;
@@ -926,11 +926,11 @@
rde_param_i_loc_rewind (RDE_PARAM p)
{
p->CL = (long int) rde_stack_top (p->LS);
}
SCOPE void
- rde_param_i_input_next (RDE_PARAM p, int m)
+ rde_param_i_input_next (RDE_PARAM p, long int m)
{
int leni;
char* ch;
ASSERT_BOUNDS(m,p->numstr);
p->CL ++;
@@ -972,11 +972,11 @@
rde_param_i_status_negate (RDE_PARAM p)
{
p->ST = !p->ST;
}
SCOPE int
- rde_param_i_symbol_restore (RDE_PARAM p, int s)
+ rde_param_i_symbol_restore (RDE_PARAM p, long int s)
{
NC_STATE* scs;
Tcl_HashEntry* hPtr;
Tcl_HashTable* tablePtr;
@@ -995,11 +995,11 @@
TRACE (("SV_RESTORE (%p) '%s'",scs->SV, scs->SV ? Tcl_GetString (scs->SV):""));
SV_SET (p, scs->SV);
return 1;
}
SCOPE void
- rde_param_i_symbol_save (RDE_PARAM p, int s)
+ rde_param_i_symbol_save (RDE_PARAM p, long int s)
{
long int at = (long int) rde_stack_top (p->LS);
NC_STATE* scs;
Tcl_HashEntry* hPtr;
Tcl_HashTable* tablePtr;
@@ -1066,11 +1066,11 @@
rde_param_i_test_control (RDE_PARAM p)
{
test_class (p, Tcl_UniCharIsControl, tc_control);
}
SCOPE void
- rde_param_i_test_char (RDE_PARAM p, const char* c, int msg)
+ rde_param_i_test_char (RDE_PARAM p, const char* c, long int msg)
{
ASSERT_BOUNDS(msg,p->numstr);
p->ST = Tcl_UtfNcmp (p->CC, c, 1) == 0;
if (p->ST) {
ER_CLEAR (p);
@@ -1108,11 +1108,11 @@
rde_param_i_test_punct (RDE_PARAM p)
{
test_class (p, Tcl_UniCharIsPunct, tc_punct);
}
SCOPE void
- rde_param_i_test_range (RDE_PARAM p, char* s, char* e, int msg)
+ rde_param_i_test_range (RDE_PARAM p, const char* s, const char* e, long int msg)
{
ASSERT_BOUNDS(msg,p->numstr);
p->ST =
(Tcl_UtfNcmp (s, p->CC, 1) <= 0) &&
(Tcl_UtfNcmp (p->CC, e, 1) <= 0);
@@ -1177,11 +1177,11 @@
rde_param_i_value_clear (RDE_PARAM p)
{
SV_CLEAR (p);
}
SCOPE void
- rde_param_i_value_leaf (RDE_PARAM p, int s)
+ rde_param_i_value_leaf (RDE_PARAM p, long int s)
{
Tcl_Obj* newsv;
Tcl_Obj* ov [3];
long int pos = 1 + (long int) rde_stack_top (p->LS);
ASSERT_BOUNDS(s,p->numstr);
@@ -1191,11 +1191,11 @@
newsv = Tcl_NewListObj (3, ov);
TRACE (("rde_param_i_value_leaf => '%s'",Tcl_GetString (newsv)));
SV_SET (p, newsv);
}
SCOPE void
- rde_param_i_value_reduce (RDE_PARAM p, int s)
+ rde_param_i_value_reduce (RDE_PARAM p, long int s)
{
Tcl_Obj* newsv;
int oc, i, j;
Tcl_Obj** ov;
long int ac;
@@ -1223,18 +1223,21 @@
ckfree ((char*) ov);
}
static int
er_int_compare (const void* a, const void* b)
{
- long int ai = *((long int*) a);
- long int bi = *((long int*) b);
- if (ai < bi) { return -1; }
- if (ai > bi) { return 1; }
+
+ const void** ael = (const void**) a;
+ const void** bel = (const void**) b;
+ long int avalue = (long int) *ael;
+ long int bvalue = (long int) *bel;
+ if (avalue < bvalue) { return -1; }
+ if (avalue > bvalue) { return 1; }
return 0;
}
SCOPE int
- rde_param_i_symbol_start (RDE_PARAM p, int s)
+ rde_param_i_symbol_start (RDE_PARAM p, long int s)
{
if (rde_param_i_symbol_restore (p, s)) {
if (p->ST) {
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
@@ -1243,11 +1246,11 @@
}
rde_stack_push (p->LS, (void*) p->CL);
return 0;
}
SCOPE int
- rde_param_i_symbol_start_d (RDE_PARAM p, int s)
+ rde_param_i_symbol_start_d (RDE_PARAM p, long int s)
{
if (rde_param_i_symbol_restore (p, s)) {
if (p->ST) {
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
@@ -1257,26 +1260,26 @@
rde_stack_push (p->LS, (void*) p->CL);
rde_stack_push (p->mark, (void*) rde_stack_size (p->ast));
return 0;
}
SCOPE int
- rde_param_i_symbol_void_start (RDE_PARAM p, int s)
+ rde_param_i_symbol_void_start (RDE_PARAM p, long int s)
{
if (rde_param_i_symbol_restore (p, s)) return 1;
rde_stack_push (p->LS, (void*) p->CL);
return 0;
}
SCOPE int
- rde_param_i_symbol_void_start_d (RDE_PARAM p, int s)
+ rde_param_i_symbol_void_start_d (RDE_PARAM p, long int s)
{
if (rde_param_i_symbol_restore (p, s)) return 1;
rde_stack_push (p->LS, (void*) p->CL);
rde_stack_push (p->mark, (void*) rde_stack_size (p->ast));
return 0;
}
SCOPE void
- rde_param_i_symbol_done_d_reduce (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_d_reduce (RDE_PARAM p, long int s, long int m)
{
if (p->ST) {
rde_param_i_value_reduce (p, s);
} else {
SV_CLEAR (p);
@@ -1289,11 +1292,11 @@
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
}
}
SCOPE void
- rde_param_i_symbol_done_leaf (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_leaf (RDE_PARAM p, long int s, long int m)
{
if (p->ST) {
rde_param_i_value_leaf (p, s);
} else {
SV_CLEAR (p);
@@ -1305,11 +1308,11 @@
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
}
}
SCOPE void
- rde_param_i_symbol_done_d_leaf (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_d_leaf (RDE_PARAM p, long int s, long int m)
{
if (p->ST) {
rde_param_i_value_leaf (p, s);
} else {
SV_CLEAR (p);
@@ -1322,133 +1325,133 @@
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
}
}
SCOPE void
- rde_param_i_symbol_done_void (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_void (RDE_PARAM p, long int s, long int m)
{
SV_CLEAR (p);
rde_param_i_symbol_save (p, s);
rde_param_i_error_nonterminal (p, m);
rde_stack_pop (p->LS, 1);
}
SCOPE void
- rde_param_i_symbol_done_d_void (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_d_void (RDE_PARAM p, long int s, long int m)
{
SV_CLEAR (p);
rde_param_i_symbol_save (p, s);
rde_param_i_error_nonterminal (p, m);
rde_param_i_ast_pop_rewind (p);
rde_stack_pop (p->LS, 1);
}
SCOPE void
- rde_param_i_next_char (RDE_PARAM p, char* c, int m)
+ rde_param_i_next_char (RDE_PARAM p, const char* c, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_char (p, c, m);
}
SCOPE void
- rde_param_i_next_range (RDE_PARAM p, char* s, char* e, int m)
+ rde_param_i_next_range (RDE_PARAM p, const char* s, const char* e, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_range (p, s, e, m);
}
SCOPE void
- rde_param_i_next_alnum (RDE_PARAM p, int m)
+ rde_param_i_next_alnum (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_alnum (p);
}
SCOPE void
- rde_param_i_next_alpha (RDE_PARAM p, int m)
+ rde_param_i_next_alpha (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_alpha (p);
}
SCOPE void
- rde_param_i_next_ascii (RDE_PARAM p, int m)
+ rde_param_i_next_ascii (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_ascii (p);
}
SCOPE void
- rde_param_i_next_control (RDE_PARAM p, int m)
+ rde_param_i_next_control (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_control (p);
}
SCOPE void
- rde_param_i_next_ddigit (RDE_PARAM p, int m)
+ rde_param_i_next_ddigit (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_ddigit (p);
}
SCOPE void
- rde_param_i_next_digit (RDE_PARAM p, int m)
+ rde_param_i_next_digit (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_digit (p);
}
SCOPE void
- rde_param_i_next_graph (RDE_PARAM p, int m)
+ rde_param_i_next_graph (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_graph (p);
}
SCOPE void
- rde_param_i_next_lower (RDE_PARAM p, int m)
+ rde_param_i_next_lower (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_lower (p);
}
SCOPE void
- rde_param_i_next_print (RDE_PARAM p, int m)
+ rde_param_i_next_print (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_print (p);
}
SCOPE void
- rde_param_i_next_punct (RDE_PARAM p, int m)
+ rde_param_i_next_punct (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_punct (p);
}
SCOPE void
- rde_param_i_next_space (RDE_PARAM p, int m)
+ rde_param_i_next_space (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_space (p);
}
SCOPE void
- rde_param_i_next_upper (RDE_PARAM p, int m)
+ rde_param_i_next_upper (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_upper (p);
}
SCOPE void
- rde_param_i_next_wordchar (RDE_PARAM p, int m)
+ rde_param_i_next_wordchar (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_wordchar (p);
}
SCOPE void
- rde_param_i_next_xdigit (RDE_PARAM p, int m)
+ rde_param_i_next_xdigit (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_xdigit (p);
}
@@ -1525,11 +1528,11 @@
rde_param_i_state_merge_value (RDE_PARAM p)
{
rde_param_i_error_pop_merge (p);
if (!p->ST) {
long int trim = (long int) rde_stack_top (p->mark);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
p->CL = (long int) rde_stack_top (p->LS);
}
rde_stack_pop (p->mark, 1);
rde_stack_pop (p->LS, 1);
}
@@ -1593,11 +1596,11 @@
if (p->ER) { p->ER->refCount ++; }
return 0;
} else {
long int trim = (long int) rde_stack_top (p->mark);
rde_stack_pop (p->mark, 1);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
p->CL = (long int) rde_stack_top (p->LS);
rde_stack_pop (p->LS, 1);
return 1;
}
}
@@ -1636,11 +1639,11 @@
rde_stack_pop (p->mark, 1);
rde_stack_pop (p->LS, 1);
} else {
long int trim = (long int) rde_stack_top (p->mark);
rde_stack_pop (p->mark, 1);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
p->CL = (long int) rde_stack_top (p->LS);
rde_stack_push (p->ES, p->ER);
if (p->ER) { p->ER->refCount ++; }
}
return p->ST;
@@ -1652,19 +1655,19 @@
if (p->ST) {
rde_stack_pop (p->mark, 1);
rde_stack_pop (p->LS, 1);
} else {
long int trim = (long int) rde_stack_top (p->mark);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
p->CL = (long int) rde_stack_top (p->LS);
rde_stack_push (p->ES, p->ER);
if (p->ER) { p->ER->refCount ++; }
}
return p->ST;
}
SCOPE void
- rde_param_i_next_str (RDE_PARAM p, const char* str, int m)
+ rde_param_i_next_str (RDE_PARAM p, const char* str, long int m)
{
int at = p->CL;
while (*str) {
rde_param_i_input_next (p, m);
@@ -1681,11 +1684,11 @@
}
str = Tcl_UtfNext (str);
}
}
SCOPE void
- rde_param_i_next_class (RDE_PARAM p, const char* class, int m)
+ rde_param_i_next_class (RDE_PARAM p, const char* class, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
while (*class) {
p->ST = Tcl_UtfNcmp (p->CC, class, 1) == 0;
@@ -1798,11 +1801,11 @@
Tcl_SetAssocData (interp, KEY, proc,
(ClientData) parserg);
}
parserg->counter ++;
- sprintf (parserg->buf, "PARSER%d", parserg->counter);
+ sprintf (parserg->buf, "PARSER%ld", parserg->counter);
return parserg->buf;
#undef KEY
}
static void
Index: modules/pt/tests/data/ok/peg_cparam-critcl/1_functions
==================================================================
--- modules/pt/tests/data/ok/peg_cparam-critcl/1_functions
+++ modules/pt/tests/data/ok/peg_cparam-critcl/1_functions
@@ -417,18 +417,18 @@
}
SCOPE void
rde_tc_get (RDE_TC tc, int at, char** ch, long int* len)
{
long int oc, off, top, end;
- long int* ov;
- rde_stack_get (tc->off, &oc, (void***) &ov);
+ void** ov;
+ rde_stack_get (tc->off, &oc, &ov);
ASSERT_BOUNDS(at,oc);
- off = ov [at];
+ off = (long int) ov [at];
if ((at+1) == oc) {
end = tc->num;
} else {
- end = ov [at+1];
+ end = (long int) ov [at+1];
}
TRACE (("rde_tc_get (RDE_TC %p, @ %d) => %d.[%d ... %d]/%d",tc,at,end-off,off,end-1,tc->num));
ASSERT_BOUNDS(off,tc->num);
ASSERT_BOUNDS(end-1,tc->num);
*ch = tc->str + off;
@@ -436,19 +436,19 @@
}
SCOPE void
rde_tc_get_s (RDE_TC tc, int at, int last, char** ch, long int* len)
{
long int oc, off, top, end;
- long int* ov;
- rde_stack_get (tc->off, &oc, (void***) &ov);
+ void** ov;
+ rde_stack_get (tc->off, &oc, &ov);
ASSERT_BOUNDS(at,oc);
ASSERT_BOUNDS(last,oc);
- off = ov [at];
+ off = (long int) ov [at];
if ((last+1) == oc) {
end = tc->num;
} else {
- end = ov [last+1];
+ end = (long int) ov [last+1];
}
TRACE (("rde_tc_get_s (RDE_TC %p, @ %d .. %d) => %d.[%d ... %d]/%d",tc,at,last,end-off,off,end-1,tc->num));
ASSERT_BOUNDS(off,tc->num);
ASSERT_BOUNDS(end-1,tc->num);
*ch = tc->str + off;
@@ -497,11 +497,11 @@
tc_wordchar,
tc_xdigit
} test_class_id;
static void ast_node_free (void* n);
static void error_state_free (void* es);
- static void error_set (RDE_PARAM p, int s);
+ static void error_set (RDE_PARAM p, long int s);
static void nc_clear (RDE_PARAM p);
static int UniCharIsAscii (int character);
static int UniCharIsHexDigit (int character);
static int UniCharIsDecDigit (int character);
static void test_class (RDE_PARAM p, UniCharClass class, test_class_id id);
@@ -650,13 +650,13 @@
rde_param_query_clientdata (RDE_PARAM p)
{
return p->clientData;
}
SCOPE void
- rde_param_query_amark (RDE_PARAM p, long int* mc, long int** mv)
+ rde_param_query_amark (RDE_PARAM p, long int* mc, void*** mv)
{
- rde_stack_get (p->mark, mc, (void***) mv);
+ rde_stack_get (p->mark, mc, mv);
}
SCOPE void
rde_param_query_ast (RDE_PARAM p, long int* ac, Tcl_Obj*** av)
{
rde_stack_get (p->ast, ac, (void***) av);
@@ -693,25 +693,25 @@
res = Tcl_NewStringObj ("", 0);
} else {
Tcl_Obj* ov [2];
Tcl_Obj** mov;
long int mc, i, j;
- long int* mv;
+ void** mv;
int lastid;
const char* msg;
- rde_stack_get (er->msg, &mc, (void***) &mv);
+ rde_stack_get (er->msg, &mc, &mv);
- qsort (mv, mc, sizeof (long int), er_int_compare);
+ qsort (mv, mc, sizeof (void*), er_int_compare);
mov = NALLOC (mc, Tcl_Obj*);
lastid = -1;
for (i=0, j=0; i < mc; i++) {
ASSERT_BOUNDS (i,mc);
- if (mv [i] == lastid) continue;
- lastid = mv [i];
- ASSERT_BOUNDS(mv[i],p->numstr);
- msg = p->string [mv[i]];
+ if (((long int) mv [i]) == lastid) continue;
+ lastid = (long int) mv [i];
+ ASSERT_BOUNDS((long int) mv[i],p->numstr);
+ msg = p->string [(long int) mv[i]];
ASSERT_BOUNDS (j,mc);
mov [j] = Tcl_NewStringObj (msg, -1);
j++;
}
@@ -780,11 +780,11 @@
{
long int trim = (long int) rde_stack_top (p->mark);
ENTER ("rde_param_i_ast_pop_rewind");
TRACE (("RDE_PARAM %p",p));
rde_stack_pop (p->mark, 1);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
TRACE (("SV = (%p rc%d '%s')",
p->SV,
p->SV ? p->SV->refCount : -1,
p->SV ? Tcl_GetString (p->SV) : ""));
RETURNVOID;
@@ -793,11 +793,11 @@
rde_param_i_ast_rewind (RDE_PARAM p)
{
long int trim = (long int) rde_stack_top (p->mark);
ENTER ("rde_param_i_ast_rewind");
TRACE (("RDE_PARAM %p",p));
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
TRACE (("SV = (%p rc%d '%s')",
p->SV,
p->SV ? p->SV->refCount : -1,
p->SV ? Tcl_GetString (p->SV) : ""));
RETURNVOID;
@@ -828,11 +828,11 @@
rde_param_i_error_clear (RDE_PARAM p)
{
ER_CLEAR (p);
}
SCOPE void
- rde_param_i_error_nonterminal (RDE_PARAM p, int s)
+ rde_param_i_error_nonterminal (RDE_PARAM p, long int s)
{
return;
long int pos;
if (!p->ER) return;
@@ -884,11 +884,11 @@
{
rde_stack_push (p->ES, p->ER);
if (p->ER) { p->ER->refCount ++; }
}
static void
- error_set (RDE_PARAM p, int s)
+ error_set (RDE_PARAM p, long int s)
{
error_state_free (p->ER);
p->ER = ALLOC (ERROR_STATE);
p->ER->refCount = 1;
p->ER->loc = p->CL;
@@ -926,11 +926,11 @@
rde_param_i_loc_rewind (RDE_PARAM p)
{
p->CL = (long int) rde_stack_top (p->LS);
}
SCOPE void
- rde_param_i_input_next (RDE_PARAM p, int m)
+ rde_param_i_input_next (RDE_PARAM p, long int m)
{
int leni;
char* ch;
ASSERT_BOUNDS(m,p->numstr);
p->CL ++;
@@ -972,11 +972,11 @@
rde_param_i_status_negate (RDE_PARAM p)
{
p->ST = !p->ST;
}
SCOPE int
- rde_param_i_symbol_restore (RDE_PARAM p, int s)
+ rde_param_i_symbol_restore (RDE_PARAM p, long int s)
{
NC_STATE* scs;
Tcl_HashEntry* hPtr;
Tcl_HashTable* tablePtr;
@@ -995,11 +995,11 @@
TRACE (("SV_RESTORE (%p) '%s'",scs->SV, scs->SV ? Tcl_GetString (scs->SV):""));
SV_SET (p, scs->SV);
return 1;
}
SCOPE void
- rde_param_i_symbol_save (RDE_PARAM p, int s)
+ rde_param_i_symbol_save (RDE_PARAM p, long int s)
{
long int at = (long int) rde_stack_top (p->LS);
NC_STATE* scs;
Tcl_HashEntry* hPtr;
Tcl_HashTable* tablePtr;
@@ -1066,11 +1066,11 @@
rde_param_i_test_control (RDE_PARAM p)
{
test_class (p, Tcl_UniCharIsControl, tc_control);
}
SCOPE void
- rde_param_i_test_char (RDE_PARAM p, const char* c, int msg)
+ rde_param_i_test_char (RDE_PARAM p, const char* c, long int msg)
{
ASSERT_BOUNDS(msg,p->numstr);
p->ST = Tcl_UtfNcmp (p->CC, c, 1) == 0;
if (p->ST) {
ER_CLEAR (p);
@@ -1108,11 +1108,11 @@
rde_param_i_test_punct (RDE_PARAM p)
{
test_class (p, Tcl_UniCharIsPunct, tc_punct);
}
SCOPE void
- rde_param_i_test_range (RDE_PARAM p, char* s, char* e, int msg)
+ rde_param_i_test_range (RDE_PARAM p, const char* s, const char* e, long int msg)
{
ASSERT_BOUNDS(msg,p->numstr);
p->ST =
(Tcl_UtfNcmp (s, p->CC, 1) <= 0) &&
(Tcl_UtfNcmp (p->CC, e, 1) <= 0);
@@ -1177,11 +1177,11 @@
rde_param_i_value_clear (RDE_PARAM p)
{
SV_CLEAR (p);
}
SCOPE void
- rde_param_i_value_leaf (RDE_PARAM p, int s)
+ rde_param_i_value_leaf (RDE_PARAM p, long int s)
{
Tcl_Obj* newsv;
Tcl_Obj* ov [3];
long int pos = 1 + (long int) rde_stack_top (p->LS);
ASSERT_BOUNDS(s,p->numstr);
@@ -1191,11 +1191,11 @@
newsv = Tcl_NewListObj (3, ov);
TRACE (("rde_param_i_value_leaf => '%s'",Tcl_GetString (newsv)));
SV_SET (p, newsv);
}
SCOPE void
- rde_param_i_value_reduce (RDE_PARAM p, int s)
+ rde_param_i_value_reduce (RDE_PARAM p, long int s)
{
Tcl_Obj* newsv;
int oc, i, j;
Tcl_Obj** ov;
long int ac;
@@ -1223,18 +1223,21 @@
ckfree ((char*) ov);
}
static int
er_int_compare (const void* a, const void* b)
{
- long int ai = *((long int*) a);
- long int bi = *((long int*) b);
- if (ai < bi) { return -1; }
- if (ai > bi) { return 1; }
+
+ const void** ael = (const void**) a;
+ const void** bel = (const void**) b;
+ long int avalue = (long int) *ael;
+ long int bvalue = (long int) *bel;
+ if (avalue < bvalue) { return -1; }
+ if (avalue > bvalue) { return 1; }
return 0;
}
SCOPE int
- rde_param_i_symbol_start (RDE_PARAM p, int s)
+ rde_param_i_symbol_start (RDE_PARAM p, long int s)
{
if (rde_param_i_symbol_restore (p, s)) {
if (p->ST) {
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
@@ -1243,11 +1246,11 @@
}
rde_stack_push (p->LS, (void*) p->CL);
return 0;
}
SCOPE int
- rde_param_i_symbol_start_d (RDE_PARAM p, int s)
+ rde_param_i_symbol_start_d (RDE_PARAM p, long int s)
{
if (rde_param_i_symbol_restore (p, s)) {
if (p->ST) {
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
@@ -1257,26 +1260,26 @@
rde_stack_push (p->LS, (void*) p->CL);
rde_stack_push (p->mark, (void*) rde_stack_size (p->ast));
return 0;
}
SCOPE int
- rde_param_i_symbol_void_start (RDE_PARAM p, int s)
+ rde_param_i_symbol_void_start (RDE_PARAM p, long int s)
{
if (rde_param_i_symbol_restore (p, s)) return 1;
rde_stack_push (p->LS, (void*) p->CL);
return 0;
}
SCOPE int
- rde_param_i_symbol_void_start_d (RDE_PARAM p, int s)
+ rde_param_i_symbol_void_start_d (RDE_PARAM p, long int s)
{
if (rde_param_i_symbol_restore (p, s)) return 1;
rde_stack_push (p->LS, (void*) p->CL);
rde_stack_push (p->mark, (void*) rde_stack_size (p->ast));
return 0;
}
SCOPE void
- rde_param_i_symbol_done_d_reduce (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_d_reduce (RDE_PARAM p, long int s, long int m)
{
if (p->ST) {
rde_param_i_value_reduce (p, s);
} else {
SV_CLEAR (p);
@@ -1289,11 +1292,11 @@
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
}
}
SCOPE void
- rde_param_i_symbol_done_leaf (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_leaf (RDE_PARAM p, long int s, long int m)
{
if (p->ST) {
rde_param_i_value_leaf (p, s);
} else {
SV_CLEAR (p);
@@ -1305,11 +1308,11 @@
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
}
}
SCOPE void
- rde_param_i_symbol_done_d_leaf (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_d_leaf (RDE_PARAM p, long int s, long int m)
{
if (p->ST) {
rde_param_i_value_leaf (p, s);
} else {
SV_CLEAR (p);
@@ -1322,133 +1325,133 @@
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
}
}
SCOPE void
- rde_param_i_symbol_done_void (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_void (RDE_PARAM p, long int s, long int m)
{
SV_CLEAR (p);
rde_param_i_symbol_save (p, s);
rde_param_i_error_nonterminal (p, m);
rde_stack_pop (p->LS, 1);
}
SCOPE void
- rde_param_i_symbol_done_d_void (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_d_void (RDE_PARAM p, long int s, long int m)
{
SV_CLEAR (p);
rde_param_i_symbol_save (p, s);
rde_param_i_error_nonterminal (p, m);
rde_param_i_ast_pop_rewind (p);
rde_stack_pop (p->LS, 1);
}
SCOPE void
- rde_param_i_next_char (RDE_PARAM p, char* c, int m)
+ rde_param_i_next_char (RDE_PARAM p, const char* c, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_char (p, c, m);
}
SCOPE void
- rde_param_i_next_range (RDE_PARAM p, char* s, char* e, int m)
+ rde_param_i_next_range (RDE_PARAM p, const char* s, const char* e, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_range (p, s, e, m);
}
SCOPE void
- rde_param_i_next_alnum (RDE_PARAM p, int m)
+ rde_param_i_next_alnum (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_alnum (p);
}
SCOPE void
- rde_param_i_next_alpha (RDE_PARAM p, int m)
+ rde_param_i_next_alpha (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_alpha (p);
}
SCOPE void
- rde_param_i_next_ascii (RDE_PARAM p, int m)
+ rde_param_i_next_ascii (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_ascii (p);
}
SCOPE void
- rde_param_i_next_control (RDE_PARAM p, int m)
+ rde_param_i_next_control (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_control (p);
}
SCOPE void
- rde_param_i_next_ddigit (RDE_PARAM p, int m)
+ rde_param_i_next_ddigit (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_ddigit (p);
}
SCOPE void
- rde_param_i_next_digit (RDE_PARAM p, int m)
+ rde_param_i_next_digit (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_digit (p);
}
SCOPE void
- rde_param_i_next_graph (RDE_PARAM p, int m)
+ rde_param_i_next_graph (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_graph (p);
}
SCOPE void
- rde_param_i_next_lower (RDE_PARAM p, int m)
+ rde_param_i_next_lower (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_lower (p);
}
SCOPE void
- rde_param_i_next_print (RDE_PARAM p, int m)
+ rde_param_i_next_print (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_print (p);
}
SCOPE void
- rde_param_i_next_punct (RDE_PARAM p, int m)
+ rde_param_i_next_punct (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_punct (p);
}
SCOPE void
- rde_param_i_next_space (RDE_PARAM p, int m)
+ rde_param_i_next_space (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_space (p);
}
SCOPE void
- rde_param_i_next_upper (RDE_PARAM p, int m)
+ rde_param_i_next_upper (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_upper (p);
}
SCOPE void
- rde_param_i_next_wordchar (RDE_PARAM p, int m)
+ rde_param_i_next_wordchar (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_wordchar (p);
}
SCOPE void
- rde_param_i_next_xdigit (RDE_PARAM p, int m)
+ rde_param_i_next_xdigit (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_xdigit (p);
}
@@ -1525,11 +1528,11 @@
rde_param_i_state_merge_value (RDE_PARAM p)
{
rde_param_i_error_pop_merge (p);
if (!p->ST) {
long int trim = (long int) rde_stack_top (p->mark);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
p->CL = (long int) rde_stack_top (p->LS);
}
rde_stack_pop (p->mark, 1);
rde_stack_pop (p->LS, 1);
}
@@ -1593,11 +1596,11 @@
if (p->ER) { p->ER->refCount ++; }
return 0;
} else {
long int trim = (long int) rde_stack_top (p->mark);
rde_stack_pop (p->mark, 1);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
p->CL = (long int) rde_stack_top (p->LS);
rde_stack_pop (p->LS, 1);
return 1;
}
}
@@ -1636,11 +1639,11 @@
rde_stack_pop (p->mark, 1);
rde_stack_pop (p->LS, 1);
} else {
long int trim = (long int) rde_stack_top (p->mark);
rde_stack_pop (p->mark, 1);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
p->CL = (long int) rde_stack_top (p->LS);
rde_stack_push (p->ES, p->ER);
if (p->ER) { p->ER->refCount ++; }
}
return p->ST;
@@ -1652,19 +1655,19 @@
if (p->ST) {
rde_stack_pop (p->mark, 1);
rde_stack_pop (p->LS, 1);
} else {
long int trim = (long int) rde_stack_top (p->mark);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
p->CL = (long int) rde_stack_top (p->LS);
rde_stack_push (p->ES, p->ER);
if (p->ER) { p->ER->refCount ++; }
}
return p->ST;
}
SCOPE void
- rde_param_i_next_str (RDE_PARAM p, const char* str, int m)
+ rde_param_i_next_str (RDE_PARAM p, const char* str, long int m)
{
int at = p->CL;
while (*str) {
rde_param_i_input_next (p, m);
@@ -1681,11 +1684,11 @@
}
str = Tcl_UtfNext (str);
}
}
SCOPE void
- rde_param_i_next_class (RDE_PARAM p, const char* class, int m)
+ rde_param_i_next_class (RDE_PARAM p, const char* class, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
while (*class) {
p->ST = Tcl_UtfNcmp (p->CC, class, 1) == 0;
@@ -1859,11 +1862,11 @@
Tcl_SetAssocData (interp, KEY, proc,
(ClientData) parserg);
}
parserg->counter ++;
- sprintf (parserg->buf, "PARSER%d", parserg->counter);
+ sprintf (parserg->buf, "PARSER%ld", parserg->counter);
return parserg->buf;
#undef KEY
}
static void
Index: modules/pt/tests/data/ok/peg_cparam-critcl/2_fun_arithmetic
==================================================================
--- modules/pt/tests/data/ok/peg_cparam-critcl/2_fun_arithmetic
+++ modules/pt/tests/data/ok/peg_cparam-critcl/2_fun_arithmetic
@@ -417,18 +417,18 @@
}
SCOPE void
rde_tc_get (RDE_TC tc, int at, char** ch, long int* len)
{
long int oc, off, top, end;
- long int* ov;
- rde_stack_get (tc->off, &oc, (void***) &ov);
+ void** ov;
+ rde_stack_get (tc->off, &oc, &ov);
ASSERT_BOUNDS(at,oc);
- off = ov [at];
+ off = (long int) ov [at];
if ((at+1) == oc) {
end = tc->num;
} else {
- end = ov [at+1];
+ end = (long int) ov [at+1];
}
TRACE (("rde_tc_get (RDE_TC %p, @ %d) => %d.[%d ... %d]/%d",tc,at,end-off,off,end-1,tc->num));
ASSERT_BOUNDS(off,tc->num);
ASSERT_BOUNDS(end-1,tc->num);
*ch = tc->str + off;
@@ -436,19 +436,19 @@
}
SCOPE void
rde_tc_get_s (RDE_TC tc, int at, int last, char** ch, long int* len)
{
long int oc, off, top, end;
- long int* ov;
- rde_stack_get (tc->off, &oc, (void***) &ov);
+ void** ov;
+ rde_stack_get (tc->off, &oc, &ov);
ASSERT_BOUNDS(at,oc);
ASSERT_BOUNDS(last,oc);
- off = ov [at];
+ off = (long int) ov [at];
if ((last+1) == oc) {
end = tc->num;
} else {
- end = ov [last+1];
+ end = (long int) ov [last+1];
}
TRACE (("rde_tc_get_s (RDE_TC %p, @ %d .. %d) => %d.[%d ... %d]/%d",tc,at,last,end-off,off,end-1,tc->num));
ASSERT_BOUNDS(off,tc->num);
ASSERT_BOUNDS(end-1,tc->num);
*ch = tc->str + off;
@@ -497,11 +497,11 @@
tc_wordchar,
tc_xdigit
} test_class_id;
static void ast_node_free (void* n);
static void error_state_free (void* es);
- static void error_set (RDE_PARAM p, int s);
+ static void error_set (RDE_PARAM p, long int s);
static void nc_clear (RDE_PARAM p);
static int UniCharIsAscii (int character);
static int UniCharIsHexDigit (int character);
static int UniCharIsDecDigit (int character);
static void test_class (RDE_PARAM p, UniCharClass class, test_class_id id);
@@ -650,13 +650,13 @@
rde_param_query_clientdata (RDE_PARAM p)
{
return p->clientData;
}
SCOPE void
- rde_param_query_amark (RDE_PARAM p, long int* mc, long int** mv)
+ rde_param_query_amark (RDE_PARAM p, long int* mc, void*** mv)
{
- rde_stack_get (p->mark, mc, (void***) mv);
+ rde_stack_get (p->mark, mc, mv);
}
SCOPE void
rde_param_query_ast (RDE_PARAM p, long int* ac, Tcl_Obj*** av)
{
rde_stack_get (p->ast, ac, (void***) av);
@@ -693,25 +693,25 @@
res = Tcl_NewStringObj ("", 0);
} else {
Tcl_Obj* ov [2];
Tcl_Obj** mov;
long int mc, i, j;
- long int* mv;
+ void** mv;
int lastid;
const char* msg;
- rde_stack_get (er->msg, &mc, (void***) &mv);
+ rde_stack_get (er->msg, &mc, &mv);
- qsort (mv, mc, sizeof (long int), er_int_compare);
+ qsort (mv, mc, sizeof (void*), er_int_compare);
mov = NALLOC (mc, Tcl_Obj*);
lastid = -1;
for (i=0, j=0; i < mc; i++) {
ASSERT_BOUNDS (i,mc);
- if (mv [i] == lastid) continue;
- lastid = mv [i];
- ASSERT_BOUNDS(mv[i],p->numstr);
- msg = p->string [mv[i]];
+ if (((long int) mv [i]) == lastid) continue;
+ lastid = (long int) mv [i];
+ ASSERT_BOUNDS((long int) mv[i],p->numstr);
+ msg = p->string [(long int) mv[i]];
ASSERT_BOUNDS (j,mc);
mov [j] = Tcl_NewStringObj (msg, -1);
j++;
}
@@ -780,11 +780,11 @@
{
long int trim = (long int) rde_stack_top (p->mark);
ENTER ("rde_param_i_ast_pop_rewind");
TRACE (("RDE_PARAM %p",p));
rde_stack_pop (p->mark, 1);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
TRACE (("SV = (%p rc%d '%s')",
p->SV,
p->SV ? p->SV->refCount : -1,
p->SV ? Tcl_GetString (p->SV) : ""));
RETURNVOID;
@@ -793,11 +793,11 @@
rde_param_i_ast_rewind (RDE_PARAM p)
{
long int trim = (long int) rde_stack_top (p->mark);
ENTER ("rde_param_i_ast_rewind");
TRACE (("RDE_PARAM %p",p));
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
TRACE (("SV = (%p rc%d '%s')",
p->SV,
p->SV ? p->SV->refCount : -1,
p->SV ? Tcl_GetString (p->SV) : ""));
RETURNVOID;
@@ -828,11 +828,11 @@
rde_param_i_error_clear (RDE_PARAM p)
{
ER_CLEAR (p);
}
SCOPE void
- rde_param_i_error_nonterminal (RDE_PARAM p, int s)
+ rde_param_i_error_nonterminal (RDE_PARAM p, long int s)
{
return;
long int pos;
if (!p->ER) return;
@@ -884,11 +884,11 @@
{
rde_stack_push (p->ES, p->ER);
if (p->ER) { p->ER->refCount ++; }
}
static void
- error_set (RDE_PARAM p, int s)
+ error_set (RDE_PARAM p, long int s)
{
error_state_free (p->ER);
p->ER = ALLOC (ERROR_STATE);
p->ER->refCount = 1;
p->ER->loc = p->CL;
@@ -926,11 +926,11 @@
rde_param_i_loc_rewind (RDE_PARAM p)
{
p->CL = (long int) rde_stack_top (p->LS);
}
SCOPE void
- rde_param_i_input_next (RDE_PARAM p, int m)
+ rde_param_i_input_next (RDE_PARAM p, long int m)
{
int leni;
char* ch;
ASSERT_BOUNDS(m,p->numstr);
p->CL ++;
@@ -972,11 +972,11 @@
rde_param_i_status_negate (RDE_PARAM p)
{
p->ST = !p->ST;
}
SCOPE int
- rde_param_i_symbol_restore (RDE_PARAM p, int s)
+ rde_param_i_symbol_restore (RDE_PARAM p, long int s)
{
NC_STATE* scs;
Tcl_HashEntry* hPtr;
Tcl_HashTable* tablePtr;
@@ -995,11 +995,11 @@
TRACE (("SV_RESTORE (%p) '%s'",scs->SV, scs->SV ? Tcl_GetString (scs->SV):""));
SV_SET (p, scs->SV);
return 1;
}
SCOPE void
- rde_param_i_symbol_save (RDE_PARAM p, int s)
+ rde_param_i_symbol_save (RDE_PARAM p, long int s)
{
long int at = (long int) rde_stack_top (p->LS);
NC_STATE* scs;
Tcl_HashEntry* hPtr;
Tcl_HashTable* tablePtr;
@@ -1066,11 +1066,11 @@
rde_param_i_test_control (RDE_PARAM p)
{
test_class (p, Tcl_UniCharIsControl, tc_control);
}
SCOPE void
- rde_param_i_test_char (RDE_PARAM p, const char* c, int msg)
+ rde_param_i_test_char (RDE_PARAM p, const char* c, long int msg)
{
ASSERT_BOUNDS(msg,p->numstr);
p->ST = Tcl_UtfNcmp (p->CC, c, 1) == 0;
if (p->ST) {
ER_CLEAR (p);
@@ -1108,11 +1108,11 @@
rde_param_i_test_punct (RDE_PARAM p)
{
test_class (p, Tcl_UniCharIsPunct, tc_punct);
}
SCOPE void
- rde_param_i_test_range (RDE_PARAM p, char* s, char* e, int msg)
+ rde_param_i_test_range (RDE_PARAM p, const char* s, const char* e, long int msg)
{
ASSERT_BOUNDS(msg,p->numstr);
p->ST =
(Tcl_UtfNcmp (s, p->CC, 1) <= 0) &&
(Tcl_UtfNcmp (p->CC, e, 1) <= 0);
@@ -1177,11 +1177,11 @@
rde_param_i_value_clear (RDE_PARAM p)
{
SV_CLEAR (p);
}
SCOPE void
- rde_param_i_value_leaf (RDE_PARAM p, int s)
+ rde_param_i_value_leaf (RDE_PARAM p, long int s)
{
Tcl_Obj* newsv;
Tcl_Obj* ov [3];
long int pos = 1 + (long int) rde_stack_top (p->LS);
ASSERT_BOUNDS(s,p->numstr);
@@ -1191,11 +1191,11 @@
newsv = Tcl_NewListObj (3, ov);
TRACE (("rde_param_i_value_leaf => '%s'",Tcl_GetString (newsv)));
SV_SET (p, newsv);
}
SCOPE void
- rde_param_i_value_reduce (RDE_PARAM p, int s)
+ rde_param_i_value_reduce (RDE_PARAM p, long int s)
{
Tcl_Obj* newsv;
int oc, i, j;
Tcl_Obj** ov;
long int ac;
@@ -1223,18 +1223,21 @@
ckfree ((char*) ov);
}
static int
er_int_compare (const void* a, const void* b)
{
- long int ai = *((long int*) a);
- long int bi = *((long int*) b);
- if (ai < bi) { return -1; }
- if (ai > bi) { return 1; }
+
+ const void** ael = (const void**) a;
+ const void** bel = (const void**) b;
+ long int avalue = (long int) *ael;
+ long int bvalue = (long int) *bel;
+ if (avalue < bvalue) { return -1; }
+ if (avalue > bvalue) { return 1; }
return 0;
}
SCOPE int
- rde_param_i_symbol_start (RDE_PARAM p, int s)
+ rde_param_i_symbol_start (RDE_PARAM p, long int s)
{
if (rde_param_i_symbol_restore (p, s)) {
if (p->ST) {
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
@@ -1243,11 +1246,11 @@
}
rde_stack_push (p->LS, (void*) p->CL);
return 0;
}
SCOPE int
- rde_param_i_symbol_start_d (RDE_PARAM p, int s)
+ rde_param_i_symbol_start_d (RDE_PARAM p, long int s)
{
if (rde_param_i_symbol_restore (p, s)) {
if (p->ST) {
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
@@ -1257,26 +1260,26 @@
rde_stack_push (p->LS, (void*) p->CL);
rde_stack_push (p->mark, (void*) rde_stack_size (p->ast));
return 0;
}
SCOPE int
- rde_param_i_symbol_void_start (RDE_PARAM p, int s)
+ rde_param_i_symbol_void_start (RDE_PARAM p, long int s)
{
if (rde_param_i_symbol_restore (p, s)) return 1;
rde_stack_push (p->LS, (void*) p->CL);
return 0;
}
SCOPE int
- rde_param_i_symbol_void_start_d (RDE_PARAM p, int s)
+ rde_param_i_symbol_void_start_d (RDE_PARAM p, long int s)
{
if (rde_param_i_symbol_restore (p, s)) return 1;
rde_stack_push (p->LS, (void*) p->CL);
rde_stack_push (p->mark, (void*) rde_stack_size (p->ast));
return 0;
}
SCOPE void
- rde_param_i_symbol_done_d_reduce (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_d_reduce (RDE_PARAM p, long int s, long int m)
{
if (p->ST) {
rde_param_i_value_reduce (p, s);
} else {
SV_CLEAR (p);
@@ -1289,11 +1292,11 @@
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
}
}
SCOPE void
- rde_param_i_symbol_done_leaf (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_leaf (RDE_PARAM p, long int s, long int m)
{
if (p->ST) {
rde_param_i_value_leaf (p, s);
} else {
SV_CLEAR (p);
@@ -1305,11 +1308,11 @@
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
}
}
SCOPE void
- rde_param_i_symbol_done_d_leaf (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_d_leaf (RDE_PARAM p, long int s, long int m)
{
if (p->ST) {
rde_param_i_value_leaf (p, s);
} else {
SV_CLEAR (p);
@@ -1322,133 +1325,133 @@
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
}
}
SCOPE void
- rde_param_i_symbol_done_void (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_void (RDE_PARAM p, long int s, long int m)
{
SV_CLEAR (p);
rde_param_i_symbol_save (p, s);
rde_param_i_error_nonterminal (p, m);
rde_stack_pop (p->LS, 1);
}
SCOPE void
- rde_param_i_symbol_done_d_void (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_d_void (RDE_PARAM p, long int s, long int m)
{
SV_CLEAR (p);
rde_param_i_symbol_save (p, s);
rde_param_i_error_nonterminal (p, m);
rde_param_i_ast_pop_rewind (p);
rde_stack_pop (p->LS, 1);
}
SCOPE void
- rde_param_i_next_char (RDE_PARAM p, char* c, int m)
+ rde_param_i_next_char (RDE_PARAM p, const char* c, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_char (p, c, m);
}
SCOPE void
- rde_param_i_next_range (RDE_PARAM p, char* s, char* e, int m)
+ rde_param_i_next_range (RDE_PARAM p, const char* s, const char* e, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_range (p, s, e, m);
}
SCOPE void
- rde_param_i_next_alnum (RDE_PARAM p, int m)
+ rde_param_i_next_alnum (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_alnum (p);
}
SCOPE void
- rde_param_i_next_alpha (RDE_PARAM p, int m)
+ rde_param_i_next_alpha (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_alpha (p);
}
SCOPE void
- rde_param_i_next_ascii (RDE_PARAM p, int m)
+ rde_param_i_next_ascii (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_ascii (p);
}
SCOPE void
- rde_param_i_next_control (RDE_PARAM p, int m)
+ rde_param_i_next_control (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_control (p);
}
SCOPE void
- rde_param_i_next_ddigit (RDE_PARAM p, int m)
+ rde_param_i_next_ddigit (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_ddigit (p);
}
SCOPE void
- rde_param_i_next_digit (RDE_PARAM p, int m)
+ rde_param_i_next_digit (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_digit (p);
}
SCOPE void
- rde_param_i_next_graph (RDE_PARAM p, int m)
+ rde_param_i_next_graph (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_graph (p);
}
SCOPE void
- rde_param_i_next_lower (RDE_PARAM p, int m)
+ rde_param_i_next_lower (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_lower (p);
}
SCOPE void
- rde_param_i_next_print (RDE_PARAM p, int m)
+ rde_param_i_next_print (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_print (p);
}
SCOPE void
- rde_param_i_next_punct (RDE_PARAM p, int m)
+ rde_param_i_next_punct (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_punct (p);
}
SCOPE void
- rde_param_i_next_space (RDE_PARAM p, int m)
+ rde_param_i_next_space (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_space (p);
}
SCOPE void
- rde_param_i_next_upper (RDE_PARAM p, int m)
+ rde_param_i_next_upper (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_upper (p);
}
SCOPE void
- rde_param_i_next_wordchar (RDE_PARAM p, int m)
+ rde_param_i_next_wordchar (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_wordchar (p);
}
SCOPE void
- rde_param_i_next_xdigit (RDE_PARAM p, int m)
+ rde_param_i_next_xdigit (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_xdigit (p);
}
@@ -1525,11 +1528,11 @@
rde_param_i_state_merge_value (RDE_PARAM p)
{
rde_param_i_error_pop_merge (p);
if (!p->ST) {
long int trim = (long int) rde_stack_top (p->mark);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
p->CL = (long int) rde_stack_top (p->LS);
}
rde_stack_pop (p->mark, 1);
rde_stack_pop (p->LS, 1);
}
@@ -1593,11 +1596,11 @@
if (p->ER) { p->ER->refCount ++; }
return 0;
} else {
long int trim = (long int) rde_stack_top (p->mark);
rde_stack_pop (p->mark, 1);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
p->CL = (long int) rde_stack_top (p->LS);
rde_stack_pop (p->LS, 1);
return 1;
}
}
@@ -1636,11 +1639,11 @@
rde_stack_pop (p->mark, 1);
rde_stack_pop (p->LS, 1);
} else {
long int trim = (long int) rde_stack_top (p->mark);
rde_stack_pop (p->mark, 1);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
p->CL = (long int) rde_stack_top (p->LS);
rde_stack_push (p->ES, p->ER);
if (p->ER) { p->ER->refCount ++; }
}
return p->ST;
@@ -1652,19 +1655,19 @@
if (p->ST) {
rde_stack_pop (p->mark, 1);
rde_stack_pop (p->LS, 1);
} else {
long int trim = (long int) rde_stack_top (p->mark);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
p->CL = (long int) rde_stack_top (p->LS);
rde_stack_push (p->ES, p->ER);
if (p->ER) { p->ER->refCount ++; }
}
return p->ST;
}
SCOPE void
- rde_param_i_next_str (RDE_PARAM p, const char* str, int m)
+ rde_param_i_next_str (RDE_PARAM p, const char* str, long int m)
{
int at = p->CL;
while (*str) {
rde_param_i_input_next (p, m);
@@ -1681,11 +1684,11 @@
}
str = Tcl_UtfNext (str);
}
}
SCOPE void
- rde_param_i_next_class (RDE_PARAM p, const char* class, int m)
+ rde_param_i_next_class (RDE_PARAM p, const char* class, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
while (*class) {
p->ST = Tcl_UtfNcmp (p->CC, class, 1) == 0;
@@ -2208,11 +2211,11 @@
Tcl_SetAssocData (interp, KEY, proc,
(ClientData) parserg);
}
parserg->counter ++;
- sprintf (parserg->buf, "PARSER%d", parserg->counter);
+ sprintf (parserg->buf, "PARSER%ld", parserg->counter);
return parserg->buf;
#undef KEY
}
static void
Index: modules/pt/tests/data/ok/peg_cparam-critcl/3_peg_itself
==================================================================
--- modules/pt/tests/data/ok/peg_cparam-critcl/3_peg_itself
+++ modules/pt/tests/data/ok/peg_cparam-critcl/3_peg_itself
@@ -417,18 +417,18 @@
}
SCOPE void
rde_tc_get (RDE_TC tc, int at, char** ch, long int* len)
{
long int oc, off, top, end;
- long int* ov;
- rde_stack_get (tc->off, &oc, (void***) &ov);
+ void** ov;
+ rde_stack_get (tc->off, &oc, &ov);
ASSERT_BOUNDS(at,oc);
- off = ov [at];
+ off = (long int) ov [at];
if ((at+1) == oc) {
end = tc->num;
} else {
- end = ov [at+1];
+ end = (long int) ov [at+1];
}
TRACE (("rde_tc_get (RDE_TC %p, @ %d) => %d.[%d ... %d]/%d",tc,at,end-off,off,end-1,tc->num));
ASSERT_BOUNDS(off,tc->num);
ASSERT_BOUNDS(end-1,tc->num);
*ch = tc->str + off;
@@ -436,19 +436,19 @@
}
SCOPE void
rde_tc_get_s (RDE_TC tc, int at, int last, char** ch, long int* len)
{
long int oc, off, top, end;
- long int* ov;
- rde_stack_get (tc->off, &oc, (void***) &ov);
+ void** ov;
+ rde_stack_get (tc->off, &oc, &ov);
ASSERT_BOUNDS(at,oc);
ASSERT_BOUNDS(last,oc);
- off = ov [at];
+ off = (long int) ov [at];
if ((last+1) == oc) {
end = tc->num;
} else {
- end = ov [last+1];
+ end = (long int) ov [last+1];
}
TRACE (("rde_tc_get_s (RDE_TC %p, @ %d .. %d) => %d.[%d ... %d]/%d",tc,at,last,end-off,off,end-1,tc->num));
ASSERT_BOUNDS(off,tc->num);
ASSERT_BOUNDS(end-1,tc->num);
*ch = tc->str + off;
@@ -497,11 +497,11 @@
tc_wordchar,
tc_xdigit
} test_class_id;
static void ast_node_free (void* n);
static void error_state_free (void* es);
- static void error_set (RDE_PARAM p, int s);
+ static void error_set (RDE_PARAM p, long int s);
static void nc_clear (RDE_PARAM p);
static int UniCharIsAscii (int character);
static int UniCharIsHexDigit (int character);
static int UniCharIsDecDigit (int character);
static void test_class (RDE_PARAM p, UniCharClass class, test_class_id id);
@@ -650,13 +650,13 @@
rde_param_query_clientdata (RDE_PARAM p)
{
return p->clientData;
}
SCOPE void
- rde_param_query_amark (RDE_PARAM p, long int* mc, long int** mv)
+ rde_param_query_amark (RDE_PARAM p, long int* mc, void*** mv)
{
- rde_stack_get (p->mark, mc, (void***) mv);
+ rde_stack_get (p->mark, mc, mv);
}
SCOPE void
rde_param_query_ast (RDE_PARAM p, long int* ac, Tcl_Obj*** av)
{
rde_stack_get (p->ast, ac, (void***) av);
@@ -693,25 +693,25 @@
res = Tcl_NewStringObj ("", 0);
} else {
Tcl_Obj* ov [2];
Tcl_Obj** mov;
long int mc, i, j;
- long int* mv;
+ void** mv;
int lastid;
const char* msg;
- rde_stack_get (er->msg, &mc, (void***) &mv);
+ rde_stack_get (er->msg, &mc, &mv);
- qsort (mv, mc, sizeof (long int), er_int_compare);
+ qsort (mv, mc, sizeof (void*), er_int_compare);
mov = NALLOC (mc, Tcl_Obj*);
lastid = -1;
for (i=0, j=0; i < mc; i++) {
ASSERT_BOUNDS (i,mc);
- if (mv [i] == lastid) continue;
- lastid = mv [i];
- ASSERT_BOUNDS(mv[i],p->numstr);
- msg = p->string [mv[i]];
+ if (((long int) mv [i]) == lastid) continue;
+ lastid = (long int) mv [i];
+ ASSERT_BOUNDS((long int) mv[i],p->numstr);
+ msg = p->string [(long int) mv[i]];
ASSERT_BOUNDS (j,mc);
mov [j] = Tcl_NewStringObj (msg, -1);
j++;
}
@@ -780,11 +780,11 @@
{
long int trim = (long int) rde_stack_top (p->mark);
ENTER ("rde_param_i_ast_pop_rewind");
TRACE (("RDE_PARAM %p",p));
rde_stack_pop (p->mark, 1);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
TRACE (("SV = (%p rc%d '%s')",
p->SV,
p->SV ? p->SV->refCount : -1,
p->SV ? Tcl_GetString (p->SV) : ""));
RETURNVOID;
@@ -793,11 +793,11 @@
rde_param_i_ast_rewind (RDE_PARAM p)
{
long int trim = (long int) rde_stack_top (p->mark);
ENTER ("rde_param_i_ast_rewind");
TRACE (("RDE_PARAM %p",p));
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
TRACE (("SV = (%p rc%d '%s')",
p->SV,
p->SV ? p->SV->refCount : -1,
p->SV ? Tcl_GetString (p->SV) : ""));
RETURNVOID;
@@ -828,11 +828,11 @@
rde_param_i_error_clear (RDE_PARAM p)
{
ER_CLEAR (p);
}
SCOPE void
- rde_param_i_error_nonterminal (RDE_PARAM p, int s)
+ rde_param_i_error_nonterminal (RDE_PARAM p, long int s)
{
return;
long int pos;
if (!p->ER) return;
@@ -884,11 +884,11 @@
{
rde_stack_push (p->ES, p->ER);
if (p->ER) { p->ER->refCount ++; }
}
static void
- error_set (RDE_PARAM p, int s)
+ error_set (RDE_PARAM p, long int s)
{
error_state_free (p->ER);
p->ER = ALLOC (ERROR_STATE);
p->ER->refCount = 1;
p->ER->loc = p->CL;
@@ -926,11 +926,11 @@
rde_param_i_loc_rewind (RDE_PARAM p)
{
p->CL = (long int) rde_stack_top (p->LS);
}
SCOPE void
- rde_param_i_input_next (RDE_PARAM p, int m)
+ rde_param_i_input_next (RDE_PARAM p, long int m)
{
int leni;
char* ch;
ASSERT_BOUNDS(m,p->numstr);
p->CL ++;
@@ -972,11 +972,11 @@
rde_param_i_status_negate (RDE_PARAM p)
{
p->ST = !p->ST;
}
SCOPE int
- rde_param_i_symbol_restore (RDE_PARAM p, int s)
+ rde_param_i_symbol_restore (RDE_PARAM p, long int s)
{
NC_STATE* scs;
Tcl_HashEntry* hPtr;
Tcl_HashTable* tablePtr;
@@ -995,11 +995,11 @@
TRACE (("SV_RESTORE (%p) '%s'",scs->SV, scs->SV ? Tcl_GetString (scs->SV):""));
SV_SET (p, scs->SV);
return 1;
}
SCOPE void
- rde_param_i_symbol_save (RDE_PARAM p, int s)
+ rde_param_i_symbol_save (RDE_PARAM p, long int s)
{
long int at = (long int) rde_stack_top (p->LS);
NC_STATE* scs;
Tcl_HashEntry* hPtr;
Tcl_HashTable* tablePtr;
@@ -1066,11 +1066,11 @@
rde_param_i_test_control (RDE_PARAM p)
{
test_class (p, Tcl_UniCharIsControl, tc_control);
}
SCOPE void
- rde_param_i_test_char (RDE_PARAM p, const char* c, int msg)
+ rde_param_i_test_char (RDE_PARAM p, const char* c, long int msg)
{
ASSERT_BOUNDS(msg,p->numstr);
p->ST = Tcl_UtfNcmp (p->CC, c, 1) == 0;
if (p->ST) {
ER_CLEAR (p);
@@ -1108,11 +1108,11 @@
rde_param_i_test_punct (RDE_PARAM p)
{
test_class (p, Tcl_UniCharIsPunct, tc_punct);
}
SCOPE void
- rde_param_i_test_range (RDE_PARAM p, char* s, char* e, int msg)
+ rde_param_i_test_range (RDE_PARAM p, const char* s, const char* e, long int msg)
{
ASSERT_BOUNDS(msg,p->numstr);
p->ST =
(Tcl_UtfNcmp (s, p->CC, 1) <= 0) &&
(Tcl_UtfNcmp (p->CC, e, 1) <= 0);
@@ -1177,11 +1177,11 @@
rde_param_i_value_clear (RDE_PARAM p)
{
SV_CLEAR (p);
}
SCOPE void
- rde_param_i_value_leaf (RDE_PARAM p, int s)
+ rde_param_i_value_leaf (RDE_PARAM p, long int s)
{
Tcl_Obj* newsv;
Tcl_Obj* ov [3];
long int pos = 1 + (long int) rde_stack_top (p->LS);
ASSERT_BOUNDS(s,p->numstr);
@@ -1191,11 +1191,11 @@
newsv = Tcl_NewListObj (3, ov);
TRACE (("rde_param_i_value_leaf => '%s'",Tcl_GetString (newsv)));
SV_SET (p, newsv);
}
SCOPE void
- rde_param_i_value_reduce (RDE_PARAM p, int s)
+ rde_param_i_value_reduce (RDE_PARAM p, long int s)
{
Tcl_Obj* newsv;
int oc, i, j;
Tcl_Obj** ov;
long int ac;
@@ -1223,18 +1223,21 @@
ckfree ((char*) ov);
}
static int
er_int_compare (const void* a, const void* b)
{
- long int ai = *((long int*) a);
- long int bi = *((long int*) b);
- if (ai < bi) { return -1; }
- if (ai > bi) { return 1; }
+
+ const void** ael = (const void**) a;
+ const void** bel = (const void**) b;
+ long int avalue = (long int) *ael;
+ long int bvalue = (long int) *bel;
+ if (avalue < bvalue) { return -1; }
+ if (avalue > bvalue) { return 1; }
return 0;
}
SCOPE int
- rde_param_i_symbol_start (RDE_PARAM p, int s)
+ rde_param_i_symbol_start (RDE_PARAM p, long int s)
{
if (rde_param_i_symbol_restore (p, s)) {
if (p->ST) {
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
@@ -1243,11 +1246,11 @@
}
rde_stack_push (p->LS, (void*) p->CL);
return 0;
}
SCOPE int
- rde_param_i_symbol_start_d (RDE_PARAM p, int s)
+ rde_param_i_symbol_start_d (RDE_PARAM p, long int s)
{
if (rde_param_i_symbol_restore (p, s)) {
if (p->ST) {
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
@@ -1257,26 +1260,26 @@
rde_stack_push (p->LS, (void*) p->CL);
rde_stack_push (p->mark, (void*) rde_stack_size (p->ast));
return 0;
}
SCOPE int
- rde_param_i_symbol_void_start (RDE_PARAM p, int s)
+ rde_param_i_symbol_void_start (RDE_PARAM p, long int s)
{
if (rde_param_i_symbol_restore (p, s)) return 1;
rde_stack_push (p->LS, (void*) p->CL);
return 0;
}
SCOPE int
- rde_param_i_symbol_void_start_d (RDE_PARAM p, int s)
+ rde_param_i_symbol_void_start_d (RDE_PARAM p, long int s)
{
if (rde_param_i_symbol_restore (p, s)) return 1;
rde_stack_push (p->LS, (void*) p->CL);
rde_stack_push (p->mark, (void*) rde_stack_size (p->ast));
return 0;
}
SCOPE void
- rde_param_i_symbol_done_d_reduce (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_d_reduce (RDE_PARAM p, long int s, long int m)
{
if (p->ST) {
rde_param_i_value_reduce (p, s);
} else {
SV_CLEAR (p);
@@ -1289,11 +1292,11 @@
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
}
}
SCOPE void
- rde_param_i_symbol_done_leaf (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_leaf (RDE_PARAM p, long int s, long int m)
{
if (p->ST) {
rde_param_i_value_leaf (p, s);
} else {
SV_CLEAR (p);
@@ -1305,11 +1308,11 @@
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
}
}
SCOPE void
- rde_param_i_symbol_done_d_leaf (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_d_leaf (RDE_PARAM p, long int s, long int m)
{
if (p->ST) {
rde_param_i_value_leaf (p, s);
} else {
SV_CLEAR (p);
@@ -1322,133 +1325,133 @@
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
}
}
SCOPE void
- rde_param_i_symbol_done_void (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_void (RDE_PARAM p, long int s, long int m)
{
SV_CLEAR (p);
rde_param_i_symbol_save (p, s);
rde_param_i_error_nonterminal (p, m);
rde_stack_pop (p->LS, 1);
}
SCOPE void
- rde_param_i_symbol_done_d_void (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_d_void (RDE_PARAM p, long int s, long int m)
{
SV_CLEAR (p);
rde_param_i_symbol_save (p, s);
rde_param_i_error_nonterminal (p, m);
rde_param_i_ast_pop_rewind (p);
rde_stack_pop (p->LS, 1);
}
SCOPE void
- rde_param_i_next_char (RDE_PARAM p, char* c, int m)
+ rde_param_i_next_char (RDE_PARAM p, const char* c, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_char (p, c, m);
}
SCOPE void
- rde_param_i_next_range (RDE_PARAM p, char* s, char* e, int m)
+ rde_param_i_next_range (RDE_PARAM p, const char* s, const char* e, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_range (p, s, e, m);
}
SCOPE void
- rde_param_i_next_alnum (RDE_PARAM p, int m)
+ rde_param_i_next_alnum (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_alnum (p);
}
SCOPE void
- rde_param_i_next_alpha (RDE_PARAM p, int m)
+ rde_param_i_next_alpha (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_alpha (p);
}
SCOPE void
- rde_param_i_next_ascii (RDE_PARAM p, int m)
+ rde_param_i_next_ascii (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_ascii (p);
}
SCOPE void
- rde_param_i_next_control (RDE_PARAM p, int m)
+ rde_param_i_next_control (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_control (p);
}
SCOPE void
- rde_param_i_next_ddigit (RDE_PARAM p, int m)
+ rde_param_i_next_ddigit (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_ddigit (p);
}
SCOPE void
- rde_param_i_next_digit (RDE_PARAM p, int m)
+ rde_param_i_next_digit (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_digit (p);
}
SCOPE void
- rde_param_i_next_graph (RDE_PARAM p, int m)
+ rde_param_i_next_graph (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_graph (p);
}
SCOPE void
- rde_param_i_next_lower (RDE_PARAM p, int m)
+ rde_param_i_next_lower (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_lower (p);
}
SCOPE void
- rde_param_i_next_print (RDE_PARAM p, int m)
+ rde_param_i_next_print (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_print (p);
}
SCOPE void
- rde_param_i_next_punct (RDE_PARAM p, int m)
+ rde_param_i_next_punct (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_punct (p);
}
SCOPE void
- rde_param_i_next_space (RDE_PARAM p, int m)
+ rde_param_i_next_space (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_space (p);
}
SCOPE void
- rde_param_i_next_upper (RDE_PARAM p, int m)
+ rde_param_i_next_upper (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_upper (p);
}
SCOPE void
- rde_param_i_next_wordchar (RDE_PARAM p, int m)
+ rde_param_i_next_wordchar (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_wordchar (p);
}
SCOPE void
- rde_param_i_next_xdigit (RDE_PARAM p, int m)
+ rde_param_i_next_xdigit (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_xdigit (p);
}
@@ -1525,11 +1528,11 @@
rde_param_i_state_merge_value (RDE_PARAM p)
{
rde_param_i_error_pop_merge (p);
if (!p->ST) {
long int trim = (long int) rde_stack_top (p->mark);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
p->CL = (long int) rde_stack_top (p->LS);
}
rde_stack_pop (p->mark, 1);
rde_stack_pop (p->LS, 1);
}
@@ -1593,11 +1596,11 @@
if (p->ER) { p->ER->refCount ++; }
return 0;
} else {
long int trim = (long int) rde_stack_top (p->mark);
rde_stack_pop (p->mark, 1);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
p->CL = (long int) rde_stack_top (p->LS);
rde_stack_pop (p->LS, 1);
return 1;
}
}
@@ -1636,11 +1639,11 @@
rde_stack_pop (p->mark, 1);
rde_stack_pop (p->LS, 1);
} else {
long int trim = (long int) rde_stack_top (p->mark);
rde_stack_pop (p->mark, 1);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
p->CL = (long int) rde_stack_top (p->LS);
rde_stack_push (p->ES, p->ER);
if (p->ER) { p->ER->refCount ++; }
}
return p->ST;
@@ -1652,19 +1655,19 @@
if (p->ST) {
rde_stack_pop (p->mark, 1);
rde_stack_pop (p->LS, 1);
} else {
long int trim = (long int) rde_stack_top (p->mark);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
p->CL = (long int) rde_stack_top (p->LS);
rde_stack_push (p->ES, p->ER);
if (p->ER) { p->ER->refCount ++; }
}
return p->ST;
}
SCOPE void
- rde_param_i_next_str (RDE_PARAM p, const char* str, int m)
+ rde_param_i_next_str (RDE_PARAM p, const char* str, long int m)
{
int at = p->CL;
while (*str) {
rde_param_i_input_next (p, m);
@@ -1681,11 +1684,11 @@
}
str = Tcl_UtfNext (str);
}
}
SCOPE void
- rde_param_i_next_class (RDE_PARAM p, const char* class, int m)
+ rde_param_i_next_class (RDE_PARAM p, const char* class, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
while (*class) {
p->ST = Tcl_UtfNcmp (p->CC, class, 1) == 0;
@@ -4747,11 +4750,11 @@
Tcl_SetAssocData (interp, KEY, proc,
(ClientData) parserg);
}
parserg->counter ++;
- sprintf (parserg->buf, "PARSER%d", parserg->counter);
+ sprintf (parserg->buf, "PARSER%ld", parserg->counter);
return parserg->buf;
#undef KEY
}
static void
Index: modules/pt/tests/data/ok/peg_cparam-critcl/4_choice
==================================================================
--- modules/pt/tests/data/ok/peg_cparam-critcl/4_choice
+++ modules/pt/tests/data/ok/peg_cparam-critcl/4_choice
@@ -417,18 +417,18 @@
}
SCOPE void
rde_tc_get (RDE_TC tc, int at, char** ch, long int* len)
{
long int oc, off, top, end;
- long int* ov;
- rde_stack_get (tc->off, &oc, (void***) &ov);
+ void** ov;
+ rde_stack_get (tc->off, &oc, &ov);
ASSERT_BOUNDS(at,oc);
- off = ov [at];
+ off = (long int) ov [at];
if ((at+1) == oc) {
end = tc->num;
} else {
- end = ov [at+1];
+ end = (long int) ov [at+1];
}
TRACE (("rde_tc_get (RDE_TC %p, @ %d) => %d.[%d ... %d]/%d",tc,at,end-off,off,end-1,tc->num));
ASSERT_BOUNDS(off,tc->num);
ASSERT_BOUNDS(end-1,tc->num);
*ch = tc->str + off;
@@ -436,19 +436,19 @@
}
SCOPE void
rde_tc_get_s (RDE_TC tc, int at, int last, char** ch, long int* len)
{
long int oc, off, top, end;
- long int* ov;
- rde_stack_get (tc->off, &oc, (void***) &ov);
+ void** ov;
+ rde_stack_get (tc->off, &oc, &ov);
ASSERT_BOUNDS(at,oc);
ASSERT_BOUNDS(last,oc);
- off = ov [at];
+ off = (long int) ov [at];
if ((last+1) == oc) {
end = tc->num;
} else {
- end = ov [last+1];
+ end = (long int) ov [last+1];
}
TRACE (("rde_tc_get_s (RDE_TC %p, @ %d .. %d) => %d.[%d ... %d]/%d",tc,at,last,end-off,off,end-1,tc->num));
ASSERT_BOUNDS(off,tc->num);
ASSERT_BOUNDS(end-1,tc->num);
*ch = tc->str + off;
@@ -497,11 +497,11 @@
tc_wordchar,
tc_xdigit
} test_class_id;
static void ast_node_free (void* n);
static void error_state_free (void* es);
- static void error_set (RDE_PARAM p, int s);
+ static void error_set (RDE_PARAM p, long int s);
static void nc_clear (RDE_PARAM p);
static int UniCharIsAscii (int character);
static int UniCharIsHexDigit (int character);
static int UniCharIsDecDigit (int character);
static void test_class (RDE_PARAM p, UniCharClass class, test_class_id id);
@@ -650,13 +650,13 @@
rde_param_query_clientdata (RDE_PARAM p)
{
return p->clientData;
}
SCOPE void
- rde_param_query_amark (RDE_PARAM p, long int* mc, long int** mv)
+ rde_param_query_amark (RDE_PARAM p, long int* mc, void*** mv)
{
- rde_stack_get (p->mark, mc, (void***) mv);
+ rde_stack_get (p->mark, mc, mv);
}
SCOPE void
rde_param_query_ast (RDE_PARAM p, long int* ac, Tcl_Obj*** av)
{
rde_stack_get (p->ast, ac, (void***) av);
@@ -693,25 +693,25 @@
res = Tcl_NewStringObj ("", 0);
} else {
Tcl_Obj* ov [2];
Tcl_Obj** mov;
long int mc, i, j;
- long int* mv;
+ void** mv;
int lastid;
const char* msg;
- rde_stack_get (er->msg, &mc, (void***) &mv);
+ rde_stack_get (er->msg, &mc, &mv);
- qsort (mv, mc, sizeof (long int), er_int_compare);
+ qsort (mv, mc, sizeof (void*), er_int_compare);
mov = NALLOC (mc, Tcl_Obj*);
lastid = -1;
for (i=0, j=0; i < mc; i++) {
ASSERT_BOUNDS (i,mc);
- if (mv [i] == lastid) continue;
- lastid = mv [i];
- ASSERT_BOUNDS(mv[i],p->numstr);
- msg = p->string [mv[i]];
+ if (((long int) mv [i]) == lastid) continue;
+ lastid = (long int) mv [i];
+ ASSERT_BOUNDS((long int) mv[i],p->numstr);
+ msg = p->string [(long int) mv[i]];
ASSERT_BOUNDS (j,mc);
mov [j] = Tcl_NewStringObj (msg, -1);
j++;
}
@@ -780,11 +780,11 @@
{
long int trim = (long int) rde_stack_top (p->mark);
ENTER ("rde_param_i_ast_pop_rewind");
TRACE (("RDE_PARAM %p",p));
rde_stack_pop (p->mark, 1);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
TRACE (("SV = (%p rc%d '%s')",
p->SV,
p->SV ? p->SV->refCount : -1,
p->SV ? Tcl_GetString (p->SV) : ""));
RETURNVOID;
@@ -793,11 +793,11 @@
rde_param_i_ast_rewind (RDE_PARAM p)
{
long int trim = (long int) rde_stack_top (p->mark);
ENTER ("rde_param_i_ast_rewind");
TRACE (("RDE_PARAM %p",p));
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
TRACE (("SV = (%p rc%d '%s')",
p->SV,
p->SV ? p->SV->refCount : -1,
p->SV ? Tcl_GetString (p->SV) : ""));
RETURNVOID;
@@ -828,11 +828,11 @@
rde_param_i_error_clear (RDE_PARAM p)
{
ER_CLEAR (p);
}
SCOPE void
- rde_param_i_error_nonterminal (RDE_PARAM p, int s)
+ rde_param_i_error_nonterminal (RDE_PARAM p, long int s)
{
return;
long int pos;
if (!p->ER) return;
@@ -884,11 +884,11 @@
{
rde_stack_push (p->ES, p->ER);
if (p->ER) { p->ER->refCount ++; }
}
static void
- error_set (RDE_PARAM p, int s)
+ error_set (RDE_PARAM p, long int s)
{
error_state_free (p->ER);
p->ER = ALLOC (ERROR_STATE);
p->ER->refCount = 1;
p->ER->loc = p->CL;
@@ -926,11 +926,11 @@
rde_param_i_loc_rewind (RDE_PARAM p)
{
p->CL = (long int) rde_stack_top (p->LS);
}
SCOPE void
- rde_param_i_input_next (RDE_PARAM p, int m)
+ rde_param_i_input_next (RDE_PARAM p, long int m)
{
int leni;
char* ch;
ASSERT_BOUNDS(m,p->numstr);
p->CL ++;
@@ -972,11 +972,11 @@
rde_param_i_status_negate (RDE_PARAM p)
{
p->ST = !p->ST;
}
SCOPE int
- rde_param_i_symbol_restore (RDE_PARAM p, int s)
+ rde_param_i_symbol_restore (RDE_PARAM p, long int s)
{
NC_STATE* scs;
Tcl_HashEntry* hPtr;
Tcl_HashTable* tablePtr;
@@ -995,11 +995,11 @@
TRACE (("SV_RESTORE (%p) '%s'",scs->SV, scs->SV ? Tcl_GetString (scs->SV):""));
SV_SET (p, scs->SV);
return 1;
}
SCOPE void
- rde_param_i_symbol_save (RDE_PARAM p, int s)
+ rde_param_i_symbol_save (RDE_PARAM p, long int s)
{
long int at = (long int) rde_stack_top (p->LS);
NC_STATE* scs;
Tcl_HashEntry* hPtr;
Tcl_HashTable* tablePtr;
@@ -1066,11 +1066,11 @@
rde_param_i_test_control (RDE_PARAM p)
{
test_class (p, Tcl_UniCharIsControl, tc_control);
}
SCOPE void
- rde_param_i_test_char (RDE_PARAM p, const char* c, int msg)
+ rde_param_i_test_char (RDE_PARAM p, const char* c, long int msg)
{
ASSERT_BOUNDS(msg,p->numstr);
p->ST = Tcl_UtfNcmp (p->CC, c, 1) == 0;
if (p->ST) {
ER_CLEAR (p);
@@ -1108,11 +1108,11 @@
rde_param_i_test_punct (RDE_PARAM p)
{
test_class (p, Tcl_UniCharIsPunct, tc_punct);
}
SCOPE void
- rde_param_i_test_range (RDE_PARAM p, char* s, char* e, int msg)
+ rde_param_i_test_range (RDE_PARAM p, const char* s, const char* e, long int msg)
{
ASSERT_BOUNDS(msg,p->numstr);
p->ST =
(Tcl_UtfNcmp (s, p->CC, 1) <= 0) &&
(Tcl_UtfNcmp (p->CC, e, 1) <= 0);
@@ -1177,11 +1177,11 @@
rde_param_i_value_clear (RDE_PARAM p)
{
SV_CLEAR (p);
}
SCOPE void
- rde_param_i_value_leaf (RDE_PARAM p, int s)
+ rde_param_i_value_leaf (RDE_PARAM p, long int s)
{
Tcl_Obj* newsv;
Tcl_Obj* ov [3];
long int pos = 1 + (long int) rde_stack_top (p->LS);
ASSERT_BOUNDS(s,p->numstr);
@@ -1191,11 +1191,11 @@
newsv = Tcl_NewListObj (3, ov);
TRACE (("rde_param_i_value_leaf => '%s'",Tcl_GetString (newsv)));
SV_SET (p, newsv);
}
SCOPE void
- rde_param_i_value_reduce (RDE_PARAM p, int s)
+ rde_param_i_value_reduce (RDE_PARAM p, long int s)
{
Tcl_Obj* newsv;
int oc, i, j;
Tcl_Obj** ov;
long int ac;
@@ -1223,18 +1223,21 @@
ckfree ((char*) ov);
}
static int
er_int_compare (const void* a, const void* b)
{
- long int ai = *((long int*) a);
- long int bi = *((long int*) b);
- if (ai < bi) { return -1; }
- if (ai > bi) { return 1; }
+
+ const void** ael = (const void**) a;
+ const void** bel = (const void**) b;
+ long int avalue = (long int) *ael;
+ long int bvalue = (long int) *bel;
+ if (avalue < bvalue) { return -1; }
+ if (avalue > bvalue) { return 1; }
return 0;
}
SCOPE int
- rde_param_i_symbol_start (RDE_PARAM p, int s)
+ rde_param_i_symbol_start (RDE_PARAM p, long int s)
{
if (rde_param_i_symbol_restore (p, s)) {
if (p->ST) {
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
@@ -1243,11 +1246,11 @@
}
rde_stack_push (p->LS, (void*) p->CL);
return 0;
}
SCOPE int
- rde_param_i_symbol_start_d (RDE_PARAM p, int s)
+ rde_param_i_symbol_start_d (RDE_PARAM p, long int s)
{
if (rde_param_i_symbol_restore (p, s)) {
if (p->ST) {
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
@@ -1257,26 +1260,26 @@
rde_stack_push (p->LS, (void*) p->CL);
rde_stack_push (p->mark, (void*) rde_stack_size (p->ast));
return 0;
}
SCOPE int
- rde_param_i_symbol_void_start (RDE_PARAM p, int s)
+ rde_param_i_symbol_void_start (RDE_PARAM p, long int s)
{
if (rde_param_i_symbol_restore (p, s)) return 1;
rde_stack_push (p->LS, (void*) p->CL);
return 0;
}
SCOPE int
- rde_param_i_symbol_void_start_d (RDE_PARAM p, int s)
+ rde_param_i_symbol_void_start_d (RDE_PARAM p, long int s)
{
if (rde_param_i_symbol_restore (p, s)) return 1;
rde_stack_push (p->LS, (void*) p->CL);
rde_stack_push (p->mark, (void*) rde_stack_size (p->ast));
return 0;
}
SCOPE void
- rde_param_i_symbol_done_d_reduce (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_d_reduce (RDE_PARAM p, long int s, long int m)
{
if (p->ST) {
rde_param_i_value_reduce (p, s);
} else {
SV_CLEAR (p);
@@ -1289,11 +1292,11 @@
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
}
}
SCOPE void
- rde_param_i_symbol_done_leaf (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_leaf (RDE_PARAM p, long int s, long int m)
{
if (p->ST) {
rde_param_i_value_leaf (p, s);
} else {
SV_CLEAR (p);
@@ -1305,11 +1308,11 @@
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
}
}
SCOPE void
- rde_param_i_symbol_done_d_leaf (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_d_leaf (RDE_PARAM p, long int s, long int m)
{
if (p->ST) {
rde_param_i_value_leaf (p, s);
} else {
SV_CLEAR (p);
@@ -1322,133 +1325,133 @@
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
}
}
SCOPE void
- rde_param_i_symbol_done_void (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_void (RDE_PARAM p, long int s, long int m)
{
SV_CLEAR (p);
rde_param_i_symbol_save (p, s);
rde_param_i_error_nonterminal (p, m);
rde_stack_pop (p->LS, 1);
}
SCOPE void
- rde_param_i_symbol_done_d_void (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_d_void (RDE_PARAM p, long int s, long int m)
{
SV_CLEAR (p);
rde_param_i_symbol_save (p, s);
rde_param_i_error_nonterminal (p, m);
rde_param_i_ast_pop_rewind (p);
rde_stack_pop (p->LS, 1);
}
SCOPE void
- rde_param_i_next_char (RDE_PARAM p, char* c, int m)
+ rde_param_i_next_char (RDE_PARAM p, const char* c, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_char (p, c, m);
}
SCOPE void
- rde_param_i_next_range (RDE_PARAM p, char* s, char* e, int m)
+ rde_param_i_next_range (RDE_PARAM p, const char* s, const char* e, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_range (p, s, e, m);
}
SCOPE void
- rde_param_i_next_alnum (RDE_PARAM p, int m)
+ rde_param_i_next_alnum (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_alnum (p);
}
SCOPE void
- rde_param_i_next_alpha (RDE_PARAM p, int m)
+ rde_param_i_next_alpha (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_alpha (p);
}
SCOPE void
- rde_param_i_next_ascii (RDE_PARAM p, int m)
+ rde_param_i_next_ascii (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_ascii (p);
}
SCOPE void
- rde_param_i_next_control (RDE_PARAM p, int m)
+ rde_param_i_next_control (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_control (p);
}
SCOPE void
- rde_param_i_next_ddigit (RDE_PARAM p, int m)
+ rde_param_i_next_ddigit (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_ddigit (p);
}
SCOPE void
- rde_param_i_next_digit (RDE_PARAM p, int m)
+ rde_param_i_next_digit (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_digit (p);
}
SCOPE void
- rde_param_i_next_graph (RDE_PARAM p, int m)
+ rde_param_i_next_graph (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_graph (p);
}
SCOPE void
- rde_param_i_next_lower (RDE_PARAM p, int m)
+ rde_param_i_next_lower (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_lower (p);
}
SCOPE void
- rde_param_i_next_print (RDE_PARAM p, int m)
+ rde_param_i_next_print (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_print (p);
}
SCOPE void
- rde_param_i_next_punct (RDE_PARAM p, int m)
+ rde_param_i_next_punct (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_punct (p);
}
SCOPE void
- rde_param_i_next_space (RDE_PARAM p, int m)
+ rde_param_i_next_space (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_space (p);
}
SCOPE void
- rde_param_i_next_upper (RDE_PARAM p, int m)
+ rde_param_i_next_upper (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_upper (p);
}
SCOPE void
- rde_param_i_next_wordchar (RDE_PARAM p, int m)
+ rde_param_i_next_wordchar (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_wordchar (p);
}
SCOPE void
- rde_param_i_next_xdigit (RDE_PARAM p, int m)
+ rde_param_i_next_xdigit (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_xdigit (p);
}
@@ -1525,11 +1528,11 @@
rde_param_i_state_merge_value (RDE_PARAM p)
{
rde_param_i_error_pop_merge (p);
if (!p->ST) {
long int trim = (long int) rde_stack_top (p->mark);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
p->CL = (long int) rde_stack_top (p->LS);
}
rde_stack_pop (p->mark, 1);
rde_stack_pop (p->LS, 1);
}
@@ -1593,11 +1596,11 @@
if (p->ER) { p->ER->refCount ++; }
return 0;
} else {
long int trim = (long int) rde_stack_top (p->mark);
rde_stack_pop (p->mark, 1);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
p->CL = (long int) rde_stack_top (p->LS);
rde_stack_pop (p->LS, 1);
return 1;
}
}
@@ -1636,11 +1639,11 @@
rde_stack_pop (p->mark, 1);
rde_stack_pop (p->LS, 1);
} else {
long int trim = (long int) rde_stack_top (p->mark);
rde_stack_pop (p->mark, 1);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
p->CL = (long int) rde_stack_top (p->LS);
rde_stack_push (p->ES, p->ER);
if (p->ER) { p->ER->refCount ++; }
}
return p->ST;
@@ -1652,19 +1655,19 @@
if (p->ST) {
rde_stack_pop (p->mark, 1);
rde_stack_pop (p->LS, 1);
} else {
long int trim = (long int) rde_stack_top (p->mark);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
p->CL = (long int) rde_stack_top (p->LS);
rde_stack_push (p->ES, p->ER);
if (p->ER) { p->ER->refCount ++; }
}
return p->ST;
}
SCOPE void
- rde_param_i_next_str (RDE_PARAM p, const char* str, int m)
+ rde_param_i_next_str (RDE_PARAM p, const char* str, long int m)
{
int at = p->CL;
while (*str) {
rde_param_i_input_next (p, m);
@@ -1681,11 +1684,11 @@
}
str = Tcl_UtfNext (str);
}
}
SCOPE void
- rde_param_i_next_class (RDE_PARAM p, const char* class, int m)
+ rde_param_i_next_class (RDE_PARAM p, const char* class, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
while (*class) {
p->ST = Tcl_UtfNcmp (p->CC, class, 1) == 0;
@@ -1782,11 +1785,11 @@
Tcl_SetAssocData (interp, KEY, proc,
(ClientData) parserg);
}
parserg->counter ++;
- sprintf (parserg->buf, "PARSER%d", parserg->counter);
+ sprintf (parserg->buf, "PARSER%ld", parserg->counter);
return parserg->buf;
#undef KEY
}
static void
Index: modules/pt/tests/data/ok/peg_cparam-critcl/5_sequence
==================================================================
--- modules/pt/tests/data/ok/peg_cparam-critcl/5_sequence
+++ modules/pt/tests/data/ok/peg_cparam-critcl/5_sequence
@@ -417,18 +417,18 @@
}
SCOPE void
rde_tc_get (RDE_TC tc, int at, char** ch, long int* len)
{
long int oc, off, top, end;
- long int* ov;
- rde_stack_get (tc->off, &oc, (void***) &ov);
+ void** ov;
+ rde_stack_get (tc->off, &oc, &ov);
ASSERT_BOUNDS(at,oc);
- off = ov [at];
+ off = (long int) ov [at];
if ((at+1) == oc) {
end = tc->num;
} else {
- end = ov [at+1];
+ end = (long int) ov [at+1];
}
TRACE (("rde_tc_get (RDE_TC %p, @ %d) => %d.[%d ... %d]/%d",tc,at,end-off,off,end-1,tc->num));
ASSERT_BOUNDS(off,tc->num);
ASSERT_BOUNDS(end-1,tc->num);
*ch = tc->str + off;
@@ -436,19 +436,19 @@
}
SCOPE void
rde_tc_get_s (RDE_TC tc, int at, int last, char** ch, long int* len)
{
long int oc, off, top, end;
- long int* ov;
- rde_stack_get (tc->off, &oc, (void***) &ov);
+ void** ov;
+ rde_stack_get (tc->off, &oc, &ov);
ASSERT_BOUNDS(at,oc);
ASSERT_BOUNDS(last,oc);
- off = ov [at];
+ off = (long int) ov [at];
if ((last+1) == oc) {
end = tc->num;
} else {
- end = ov [last+1];
+ end = (long int) ov [last+1];
}
TRACE (("rde_tc_get_s (RDE_TC %p, @ %d .. %d) => %d.[%d ... %d]/%d",tc,at,last,end-off,off,end-1,tc->num));
ASSERT_BOUNDS(off,tc->num);
ASSERT_BOUNDS(end-1,tc->num);
*ch = tc->str + off;
@@ -497,11 +497,11 @@
tc_wordchar,
tc_xdigit
} test_class_id;
static void ast_node_free (void* n);
static void error_state_free (void* es);
- static void error_set (RDE_PARAM p, int s);
+ static void error_set (RDE_PARAM p, long int s);
static void nc_clear (RDE_PARAM p);
static int UniCharIsAscii (int character);
static int UniCharIsHexDigit (int character);
static int UniCharIsDecDigit (int character);
static void test_class (RDE_PARAM p, UniCharClass class, test_class_id id);
@@ -650,13 +650,13 @@
rde_param_query_clientdata (RDE_PARAM p)
{
return p->clientData;
}
SCOPE void
- rde_param_query_amark (RDE_PARAM p, long int* mc, long int** mv)
+ rde_param_query_amark (RDE_PARAM p, long int* mc, void*** mv)
{
- rde_stack_get (p->mark, mc, (void***) mv);
+ rde_stack_get (p->mark, mc, mv);
}
SCOPE void
rde_param_query_ast (RDE_PARAM p, long int* ac, Tcl_Obj*** av)
{
rde_stack_get (p->ast, ac, (void***) av);
@@ -693,25 +693,25 @@
res = Tcl_NewStringObj ("", 0);
} else {
Tcl_Obj* ov [2];
Tcl_Obj** mov;
long int mc, i, j;
- long int* mv;
+ void** mv;
int lastid;
const char* msg;
- rde_stack_get (er->msg, &mc, (void***) &mv);
+ rde_stack_get (er->msg, &mc, &mv);
- qsort (mv, mc, sizeof (long int), er_int_compare);
+ qsort (mv, mc, sizeof (void*), er_int_compare);
mov = NALLOC (mc, Tcl_Obj*);
lastid = -1;
for (i=0, j=0; i < mc; i++) {
ASSERT_BOUNDS (i,mc);
- if (mv [i] == lastid) continue;
- lastid = mv [i];
- ASSERT_BOUNDS(mv[i],p->numstr);
- msg = p->string [mv[i]];
+ if (((long int) mv [i]) == lastid) continue;
+ lastid = (long int) mv [i];
+ ASSERT_BOUNDS((long int) mv[i],p->numstr);
+ msg = p->string [(long int) mv[i]];
ASSERT_BOUNDS (j,mc);
mov [j] = Tcl_NewStringObj (msg, -1);
j++;
}
@@ -780,11 +780,11 @@
{
long int trim = (long int) rde_stack_top (p->mark);
ENTER ("rde_param_i_ast_pop_rewind");
TRACE (("RDE_PARAM %p",p));
rde_stack_pop (p->mark, 1);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
TRACE (("SV = (%p rc%d '%s')",
p->SV,
p->SV ? p->SV->refCount : -1,
p->SV ? Tcl_GetString (p->SV) : ""));
RETURNVOID;
@@ -793,11 +793,11 @@
rde_param_i_ast_rewind (RDE_PARAM p)
{
long int trim = (long int) rde_stack_top (p->mark);
ENTER ("rde_param_i_ast_rewind");
TRACE (("RDE_PARAM %p",p));
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
TRACE (("SV = (%p rc%d '%s')",
p->SV,
p->SV ? p->SV->refCount : -1,
p->SV ? Tcl_GetString (p->SV) : ""));
RETURNVOID;
@@ -828,11 +828,11 @@
rde_param_i_error_clear (RDE_PARAM p)
{
ER_CLEAR (p);
}
SCOPE void
- rde_param_i_error_nonterminal (RDE_PARAM p, int s)
+ rde_param_i_error_nonterminal (RDE_PARAM p, long int s)
{
return;
long int pos;
if (!p->ER) return;
@@ -884,11 +884,11 @@
{
rde_stack_push (p->ES, p->ER);
if (p->ER) { p->ER->refCount ++; }
}
static void
- error_set (RDE_PARAM p, int s)
+ error_set (RDE_PARAM p, long int s)
{
error_state_free (p->ER);
p->ER = ALLOC (ERROR_STATE);
p->ER->refCount = 1;
p->ER->loc = p->CL;
@@ -926,11 +926,11 @@
rde_param_i_loc_rewind (RDE_PARAM p)
{
p->CL = (long int) rde_stack_top (p->LS);
}
SCOPE void
- rde_param_i_input_next (RDE_PARAM p, int m)
+ rde_param_i_input_next (RDE_PARAM p, long int m)
{
int leni;
char* ch;
ASSERT_BOUNDS(m,p->numstr);
p->CL ++;
@@ -972,11 +972,11 @@
rde_param_i_status_negate (RDE_PARAM p)
{
p->ST = !p->ST;
}
SCOPE int
- rde_param_i_symbol_restore (RDE_PARAM p, int s)
+ rde_param_i_symbol_restore (RDE_PARAM p, long int s)
{
NC_STATE* scs;
Tcl_HashEntry* hPtr;
Tcl_HashTable* tablePtr;
@@ -995,11 +995,11 @@
TRACE (("SV_RESTORE (%p) '%s'",scs->SV, scs->SV ? Tcl_GetString (scs->SV):""));
SV_SET (p, scs->SV);
return 1;
}
SCOPE void
- rde_param_i_symbol_save (RDE_PARAM p, int s)
+ rde_param_i_symbol_save (RDE_PARAM p, long int s)
{
long int at = (long int) rde_stack_top (p->LS);
NC_STATE* scs;
Tcl_HashEntry* hPtr;
Tcl_HashTable* tablePtr;
@@ -1066,11 +1066,11 @@
rde_param_i_test_control (RDE_PARAM p)
{
test_class (p, Tcl_UniCharIsControl, tc_control);
}
SCOPE void
- rde_param_i_test_char (RDE_PARAM p, const char* c, int msg)
+ rde_param_i_test_char (RDE_PARAM p, const char* c, long int msg)
{
ASSERT_BOUNDS(msg,p->numstr);
p->ST = Tcl_UtfNcmp (p->CC, c, 1) == 0;
if (p->ST) {
ER_CLEAR (p);
@@ -1108,11 +1108,11 @@
rde_param_i_test_punct (RDE_PARAM p)
{
test_class (p, Tcl_UniCharIsPunct, tc_punct);
}
SCOPE void
- rde_param_i_test_range (RDE_PARAM p, char* s, char* e, int msg)
+ rde_param_i_test_range (RDE_PARAM p, const char* s, const char* e, long int msg)
{
ASSERT_BOUNDS(msg,p->numstr);
p->ST =
(Tcl_UtfNcmp (s, p->CC, 1) <= 0) &&
(Tcl_UtfNcmp (p->CC, e, 1) <= 0);
@@ -1177,11 +1177,11 @@
rde_param_i_value_clear (RDE_PARAM p)
{
SV_CLEAR (p);
}
SCOPE void
- rde_param_i_value_leaf (RDE_PARAM p, int s)
+ rde_param_i_value_leaf (RDE_PARAM p, long int s)
{
Tcl_Obj* newsv;
Tcl_Obj* ov [3];
long int pos = 1 + (long int) rde_stack_top (p->LS);
ASSERT_BOUNDS(s,p->numstr);
@@ -1191,11 +1191,11 @@
newsv = Tcl_NewListObj (3, ov);
TRACE (("rde_param_i_value_leaf => '%s'",Tcl_GetString (newsv)));
SV_SET (p, newsv);
}
SCOPE void
- rde_param_i_value_reduce (RDE_PARAM p, int s)
+ rde_param_i_value_reduce (RDE_PARAM p, long int s)
{
Tcl_Obj* newsv;
int oc, i, j;
Tcl_Obj** ov;
long int ac;
@@ -1223,18 +1223,21 @@
ckfree ((char*) ov);
}
static int
er_int_compare (const void* a, const void* b)
{
- long int ai = *((long int*) a);
- long int bi = *((long int*) b);
- if (ai < bi) { return -1; }
- if (ai > bi) { return 1; }
+
+ const void** ael = (const void**) a;
+ const void** bel = (const void**) b;
+ long int avalue = (long int) *ael;
+ long int bvalue = (long int) *bel;
+ if (avalue < bvalue) { return -1; }
+ if (avalue > bvalue) { return 1; }
return 0;
}
SCOPE int
- rde_param_i_symbol_start (RDE_PARAM p, int s)
+ rde_param_i_symbol_start (RDE_PARAM p, long int s)
{
if (rde_param_i_symbol_restore (p, s)) {
if (p->ST) {
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
@@ -1243,11 +1246,11 @@
}
rde_stack_push (p->LS, (void*) p->CL);
return 0;
}
SCOPE int
- rde_param_i_symbol_start_d (RDE_PARAM p, int s)
+ rde_param_i_symbol_start_d (RDE_PARAM p, long int s)
{
if (rde_param_i_symbol_restore (p, s)) {
if (p->ST) {
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
@@ -1257,26 +1260,26 @@
rde_stack_push (p->LS, (void*) p->CL);
rde_stack_push (p->mark, (void*) rde_stack_size (p->ast));
return 0;
}
SCOPE int
- rde_param_i_symbol_void_start (RDE_PARAM p, int s)
+ rde_param_i_symbol_void_start (RDE_PARAM p, long int s)
{
if (rde_param_i_symbol_restore (p, s)) return 1;
rde_stack_push (p->LS, (void*) p->CL);
return 0;
}
SCOPE int
- rde_param_i_symbol_void_start_d (RDE_PARAM p, int s)
+ rde_param_i_symbol_void_start_d (RDE_PARAM p, long int s)
{
if (rde_param_i_symbol_restore (p, s)) return 1;
rde_stack_push (p->LS, (void*) p->CL);
rde_stack_push (p->mark, (void*) rde_stack_size (p->ast));
return 0;
}
SCOPE void
- rde_param_i_symbol_done_d_reduce (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_d_reduce (RDE_PARAM p, long int s, long int m)
{
if (p->ST) {
rde_param_i_value_reduce (p, s);
} else {
SV_CLEAR (p);
@@ -1289,11 +1292,11 @@
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
}
}
SCOPE void
- rde_param_i_symbol_done_leaf (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_leaf (RDE_PARAM p, long int s, long int m)
{
if (p->ST) {
rde_param_i_value_leaf (p, s);
} else {
SV_CLEAR (p);
@@ -1305,11 +1308,11 @@
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
}
}
SCOPE void
- rde_param_i_symbol_done_d_leaf (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_d_leaf (RDE_PARAM p, long int s, long int m)
{
if (p->ST) {
rde_param_i_value_leaf (p, s);
} else {
SV_CLEAR (p);
@@ -1322,133 +1325,133 @@
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
}
}
SCOPE void
- rde_param_i_symbol_done_void (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_void (RDE_PARAM p, long int s, long int m)
{
SV_CLEAR (p);
rde_param_i_symbol_save (p, s);
rde_param_i_error_nonterminal (p, m);
rde_stack_pop (p->LS, 1);
}
SCOPE void
- rde_param_i_symbol_done_d_void (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_d_void (RDE_PARAM p, long int s, long int m)
{
SV_CLEAR (p);
rde_param_i_symbol_save (p, s);
rde_param_i_error_nonterminal (p, m);
rde_param_i_ast_pop_rewind (p);
rde_stack_pop (p->LS, 1);
}
SCOPE void
- rde_param_i_next_char (RDE_PARAM p, char* c, int m)
+ rde_param_i_next_char (RDE_PARAM p, const char* c, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_char (p, c, m);
}
SCOPE void
- rde_param_i_next_range (RDE_PARAM p, char* s, char* e, int m)
+ rde_param_i_next_range (RDE_PARAM p, const char* s, const char* e, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_range (p, s, e, m);
}
SCOPE void
- rde_param_i_next_alnum (RDE_PARAM p, int m)
+ rde_param_i_next_alnum (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_alnum (p);
}
SCOPE void
- rde_param_i_next_alpha (RDE_PARAM p, int m)
+ rde_param_i_next_alpha (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_alpha (p);
}
SCOPE void
- rde_param_i_next_ascii (RDE_PARAM p, int m)
+ rde_param_i_next_ascii (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_ascii (p);
}
SCOPE void
- rde_param_i_next_control (RDE_PARAM p, int m)
+ rde_param_i_next_control (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_control (p);
}
SCOPE void
- rde_param_i_next_ddigit (RDE_PARAM p, int m)
+ rde_param_i_next_ddigit (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_ddigit (p);
}
SCOPE void
- rde_param_i_next_digit (RDE_PARAM p, int m)
+ rde_param_i_next_digit (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_digit (p);
}
SCOPE void
- rde_param_i_next_graph (RDE_PARAM p, int m)
+ rde_param_i_next_graph (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_graph (p);
}
SCOPE void
- rde_param_i_next_lower (RDE_PARAM p, int m)
+ rde_param_i_next_lower (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_lower (p);
}
SCOPE void
- rde_param_i_next_print (RDE_PARAM p, int m)
+ rde_param_i_next_print (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_print (p);
}
SCOPE void
- rde_param_i_next_punct (RDE_PARAM p, int m)
+ rde_param_i_next_punct (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_punct (p);
}
SCOPE void
- rde_param_i_next_space (RDE_PARAM p, int m)
+ rde_param_i_next_space (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_space (p);
}
SCOPE void
- rde_param_i_next_upper (RDE_PARAM p, int m)
+ rde_param_i_next_upper (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_upper (p);
}
SCOPE void
- rde_param_i_next_wordchar (RDE_PARAM p, int m)
+ rde_param_i_next_wordchar (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_wordchar (p);
}
SCOPE void
- rde_param_i_next_xdigit (RDE_PARAM p, int m)
+ rde_param_i_next_xdigit (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_xdigit (p);
}
@@ -1525,11 +1528,11 @@
rde_param_i_state_merge_value (RDE_PARAM p)
{
rde_param_i_error_pop_merge (p);
if (!p->ST) {
long int trim = (long int) rde_stack_top (p->mark);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
p->CL = (long int) rde_stack_top (p->LS);
}
rde_stack_pop (p->mark, 1);
rde_stack_pop (p->LS, 1);
}
@@ -1593,11 +1596,11 @@
if (p->ER) { p->ER->refCount ++; }
return 0;
} else {
long int trim = (long int) rde_stack_top (p->mark);
rde_stack_pop (p->mark, 1);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
p->CL = (long int) rde_stack_top (p->LS);
rde_stack_pop (p->LS, 1);
return 1;
}
}
@@ -1636,11 +1639,11 @@
rde_stack_pop (p->mark, 1);
rde_stack_pop (p->LS, 1);
} else {
long int trim = (long int) rde_stack_top (p->mark);
rde_stack_pop (p->mark, 1);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
p->CL = (long int) rde_stack_top (p->LS);
rde_stack_push (p->ES, p->ER);
if (p->ER) { p->ER->refCount ++; }
}
return p->ST;
@@ -1652,19 +1655,19 @@
if (p->ST) {
rde_stack_pop (p->mark, 1);
rde_stack_pop (p->LS, 1);
} else {
long int trim = (long int) rde_stack_top (p->mark);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
p->CL = (long int) rde_stack_top (p->LS);
rde_stack_push (p->ES, p->ER);
if (p->ER) { p->ER->refCount ++; }
}
return p->ST;
}
SCOPE void
- rde_param_i_next_str (RDE_PARAM p, const char* str, int m)
+ rde_param_i_next_str (RDE_PARAM p, const char* str, long int m)
{
int at = p->CL;
while (*str) {
rde_param_i_input_next (p, m);
@@ -1681,11 +1684,11 @@
}
str = Tcl_UtfNext (str);
}
}
SCOPE void
- rde_param_i_next_class (RDE_PARAM p, const char* class, int m)
+ rde_param_i_next_class (RDE_PARAM p, const char* class, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
while (*class) {
p->ST = Tcl_UtfNcmp (p->CC, class, 1) == 0;
@@ -1782,11 +1785,11 @@
Tcl_SetAssocData (interp, KEY, proc,
(ClientData) parserg);
}
parserg->counter ++;
- sprintf (parserg->buf, "PARSER%d", parserg->counter);
+ sprintf (parserg->buf, "PARSER%ld", parserg->counter);
return parserg->buf;
#undef KEY
}
static void
Index: modules/pt/tests/data/ok/peg_cparam-critcl/6_optional
==================================================================
--- modules/pt/tests/data/ok/peg_cparam-critcl/6_optional
+++ modules/pt/tests/data/ok/peg_cparam-critcl/6_optional
@@ -417,18 +417,18 @@
}
SCOPE void
rde_tc_get (RDE_TC tc, int at, char** ch, long int* len)
{
long int oc, off, top, end;
- long int* ov;
- rde_stack_get (tc->off, &oc, (void***) &ov);
+ void** ov;
+ rde_stack_get (tc->off, &oc, &ov);
ASSERT_BOUNDS(at,oc);
- off = ov [at];
+ off = (long int) ov [at];
if ((at+1) == oc) {
end = tc->num;
} else {
- end = ov [at+1];
+ end = (long int) ov [at+1];
}
TRACE (("rde_tc_get (RDE_TC %p, @ %d) => %d.[%d ... %d]/%d",tc,at,end-off,off,end-1,tc->num));
ASSERT_BOUNDS(off,tc->num);
ASSERT_BOUNDS(end-1,tc->num);
*ch = tc->str + off;
@@ -436,19 +436,19 @@
}
SCOPE void
rde_tc_get_s (RDE_TC tc, int at, int last, char** ch, long int* len)
{
long int oc, off, top, end;
- long int* ov;
- rde_stack_get (tc->off, &oc, (void***) &ov);
+ void** ov;
+ rde_stack_get (tc->off, &oc, &ov);
ASSERT_BOUNDS(at,oc);
ASSERT_BOUNDS(last,oc);
- off = ov [at];
+ off = (long int) ov [at];
if ((last+1) == oc) {
end = tc->num;
} else {
- end = ov [last+1];
+ end = (long int) ov [last+1];
}
TRACE (("rde_tc_get_s (RDE_TC %p, @ %d .. %d) => %d.[%d ... %d]/%d",tc,at,last,end-off,off,end-1,tc->num));
ASSERT_BOUNDS(off,tc->num);
ASSERT_BOUNDS(end-1,tc->num);
*ch = tc->str + off;
@@ -497,11 +497,11 @@
tc_wordchar,
tc_xdigit
} test_class_id;
static void ast_node_free (void* n);
static void error_state_free (void* es);
- static void error_set (RDE_PARAM p, int s);
+ static void error_set (RDE_PARAM p, long int s);
static void nc_clear (RDE_PARAM p);
static int UniCharIsAscii (int character);
static int UniCharIsHexDigit (int character);
static int UniCharIsDecDigit (int character);
static void test_class (RDE_PARAM p, UniCharClass class, test_class_id id);
@@ -650,13 +650,13 @@
rde_param_query_clientdata (RDE_PARAM p)
{
return p->clientData;
}
SCOPE void
- rde_param_query_amark (RDE_PARAM p, long int* mc, long int** mv)
+ rde_param_query_amark (RDE_PARAM p, long int* mc, void*** mv)
{
- rde_stack_get (p->mark, mc, (void***) mv);
+ rde_stack_get (p->mark, mc, mv);
}
SCOPE void
rde_param_query_ast (RDE_PARAM p, long int* ac, Tcl_Obj*** av)
{
rde_stack_get (p->ast, ac, (void***) av);
@@ -693,25 +693,25 @@
res = Tcl_NewStringObj ("", 0);
} else {
Tcl_Obj* ov [2];
Tcl_Obj** mov;
long int mc, i, j;
- long int* mv;
+ void** mv;
int lastid;
const char* msg;
- rde_stack_get (er->msg, &mc, (void***) &mv);
+ rde_stack_get (er->msg, &mc, &mv);
- qsort (mv, mc, sizeof (long int), er_int_compare);
+ qsort (mv, mc, sizeof (void*), er_int_compare);
mov = NALLOC (mc, Tcl_Obj*);
lastid = -1;
for (i=0, j=0; i < mc; i++) {
ASSERT_BOUNDS (i,mc);
- if (mv [i] == lastid) continue;
- lastid = mv [i];
- ASSERT_BOUNDS(mv[i],p->numstr);
- msg = p->string [mv[i]];
+ if (((long int) mv [i]) == lastid) continue;
+ lastid = (long int) mv [i];
+ ASSERT_BOUNDS((long int) mv[i],p->numstr);
+ msg = p->string [(long int) mv[i]];
ASSERT_BOUNDS (j,mc);
mov [j] = Tcl_NewStringObj (msg, -1);
j++;
}
@@ -780,11 +780,11 @@
{
long int trim = (long int) rde_stack_top (p->mark);
ENTER ("rde_param_i_ast_pop_rewind");
TRACE (("RDE_PARAM %p",p));
rde_stack_pop (p->mark, 1);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
TRACE (("SV = (%p rc%d '%s')",
p->SV,
p->SV ? p->SV->refCount : -1,
p->SV ? Tcl_GetString (p->SV) : ""));
RETURNVOID;
@@ -793,11 +793,11 @@
rde_param_i_ast_rewind (RDE_PARAM p)
{
long int trim = (long int) rde_stack_top (p->mark);
ENTER ("rde_param_i_ast_rewind");
TRACE (("RDE_PARAM %p",p));
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
TRACE (("SV = (%p rc%d '%s')",
p->SV,
p->SV ? p->SV->refCount : -1,
p->SV ? Tcl_GetString (p->SV) : ""));
RETURNVOID;
@@ -828,11 +828,11 @@
rde_param_i_error_clear (RDE_PARAM p)
{
ER_CLEAR (p);
}
SCOPE void
- rde_param_i_error_nonterminal (RDE_PARAM p, int s)
+ rde_param_i_error_nonterminal (RDE_PARAM p, long int s)
{
return;
long int pos;
if (!p->ER) return;
@@ -884,11 +884,11 @@
{
rde_stack_push (p->ES, p->ER);
if (p->ER) { p->ER->refCount ++; }
}
static void
- error_set (RDE_PARAM p, int s)
+ error_set (RDE_PARAM p, long int s)
{
error_state_free (p->ER);
p->ER = ALLOC (ERROR_STATE);
p->ER->refCount = 1;
p->ER->loc = p->CL;
@@ -926,11 +926,11 @@
rde_param_i_loc_rewind (RDE_PARAM p)
{
p->CL = (long int) rde_stack_top (p->LS);
}
SCOPE void
- rde_param_i_input_next (RDE_PARAM p, int m)
+ rde_param_i_input_next (RDE_PARAM p, long int m)
{
int leni;
char* ch;
ASSERT_BOUNDS(m,p->numstr);
p->CL ++;
@@ -972,11 +972,11 @@
rde_param_i_status_negate (RDE_PARAM p)
{
p->ST = !p->ST;
}
SCOPE int
- rde_param_i_symbol_restore (RDE_PARAM p, int s)
+ rde_param_i_symbol_restore (RDE_PARAM p, long int s)
{
NC_STATE* scs;
Tcl_HashEntry* hPtr;
Tcl_HashTable* tablePtr;
@@ -995,11 +995,11 @@
TRACE (("SV_RESTORE (%p) '%s'",scs->SV, scs->SV ? Tcl_GetString (scs->SV):""));
SV_SET (p, scs->SV);
return 1;
}
SCOPE void
- rde_param_i_symbol_save (RDE_PARAM p, int s)
+ rde_param_i_symbol_save (RDE_PARAM p, long int s)
{
long int at = (long int) rde_stack_top (p->LS);
NC_STATE* scs;
Tcl_HashEntry* hPtr;
Tcl_HashTable* tablePtr;
@@ -1066,11 +1066,11 @@
rde_param_i_test_control (RDE_PARAM p)
{
test_class (p, Tcl_UniCharIsControl, tc_control);
}
SCOPE void
- rde_param_i_test_char (RDE_PARAM p, const char* c, int msg)
+ rde_param_i_test_char (RDE_PARAM p, const char* c, long int msg)
{
ASSERT_BOUNDS(msg,p->numstr);
p->ST = Tcl_UtfNcmp (p->CC, c, 1) == 0;
if (p->ST) {
ER_CLEAR (p);
@@ -1108,11 +1108,11 @@
rde_param_i_test_punct (RDE_PARAM p)
{
test_class (p, Tcl_UniCharIsPunct, tc_punct);
}
SCOPE void
- rde_param_i_test_range (RDE_PARAM p, char* s, char* e, int msg)
+ rde_param_i_test_range (RDE_PARAM p, const char* s, const char* e, long int msg)
{
ASSERT_BOUNDS(msg,p->numstr);
p->ST =
(Tcl_UtfNcmp (s, p->CC, 1) <= 0) &&
(Tcl_UtfNcmp (p->CC, e, 1) <= 0);
@@ -1177,11 +1177,11 @@
rde_param_i_value_clear (RDE_PARAM p)
{
SV_CLEAR (p);
}
SCOPE void
- rde_param_i_value_leaf (RDE_PARAM p, int s)
+ rde_param_i_value_leaf (RDE_PARAM p, long int s)
{
Tcl_Obj* newsv;
Tcl_Obj* ov [3];
long int pos = 1 + (long int) rde_stack_top (p->LS);
ASSERT_BOUNDS(s,p->numstr);
@@ -1191,11 +1191,11 @@
newsv = Tcl_NewListObj (3, ov);
TRACE (("rde_param_i_value_leaf => '%s'",Tcl_GetString (newsv)));
SV_SET (p, newsv);
}
SCOPE void
- rde_param_i_value_reduce (RDE_PARAM p, int s)
+ rde_param_i_value_reduce (RDE_PARAM p, long int s)
{
Tcl_Obj* newsv;
int oc, i, j;
Tcl_Obj** ov;
long int ac;
@@ -1223,18 +1223,21 @@
ckfree ((char*) ov);
}
static int
er_int_compare (const void* a, const void* b)
{
- long int ai = *((long int*) a);
- long int bi = *((long int*) b);
- if (ai < bi) { return -1; }
- if (ai > bi) { return 1; }
+
+ const void** ael = (const void**) a;
+ const void** bel = (const void**) b;
+ long int avalue = (long int) *ael;
+ long int bvalue = (long int) *bel;
+ if (avalue < bvalue) { return -1; }
+ if (avalue > bvalue) { return 1; }
return 0;
}
SCOPE int
- rde_param_i_symbol_start (RDE_PARAM p, int s)
+ rde_param_i_symbol_start (RDE_PARAM p, long int s)
{
if (rde_param_i_symbol_restore (p, s)) {
if (p->ST) {
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
@@ -1243,11 +1246,11 @@
}
rde_stack_push (p->LS, (void*) p->CL);
return 0;
}
SCOPE int
- rde_param_i_symbol_start_d (RDE_PARAM p, int s)
+ rde_param_i_symbol_start_d (RDE_PARAM p, long int s)
{
if (rde_param_i_symbol_restore (p, s)) {
if (p->ST) {
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
@@ -1257,26 +1260,26 @@
rde_stack_push (p->LS, (void*) p->CL);
rde_stack_push (p->mark, (void*) rde_stack_size (p->ast));
return 0;
}
SCOPE int
- rde_param_i_symbol_void_start (RDE_PARAM p, int s)
+ rde_param_i_symbol_void_start (RDE_PARAM p, long int s)
{
if (rde_param_i_symbol_restore (p, s)) return 1;
rde_stack_push (p->LS, (void*) p->CL);
return 0;
}
SCOPE int
- rde_param_i_symbol_void_start_d (RDE_PARAM p, int s)
+ rde_param_i_symbol_void_start_d (RDE_PARAM p, long int s)
{
if (rde_param_i_symbol_restore (p, s)) return 1;
rde_stack_push (p->LS, (void*) p->CL);
rde_stack_push (p->mark, (void*) rde_stack_size (p->ast));
return 0;
}
SCOPE void
- rde_param_i_symbol_done_d_reduce (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_d_reduce (RDE_PARAM p, long int s, long int m)
{
if (p->ST) {
rde_param_i_value_reduce (p, s);
} else {
SV_CLEAR (p);
@@ -1289,11 +1292,11 @@
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
}
}
SCOPE void
- rde_param_i_symbol_done_leaf (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_leaf (RDE_PARAM p, long int s, long int m)
{
if (p->ST) {
rde_param_i_value_leaf (p, s);
} else {
SV_CLEAR (p);
@@ -1305,11 +1308,11 @@
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
}
}
SCOPE void
- rde_param_i_symbol_done_d_leaf (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_d_leaf (RDE_PARAM p, long int s, long int m)
{
if (p->ST) {
rde_param_i_value_leaf (p, s);
} else {
SV_CLEAR (p);
@@ -1322,133 +1325,133 @@
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
}
}
SCOPE void
- rde_param_i_symbol_done_void (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_void (RDE_PARAM p, long int s, long int m)
{
SV_CLEAR (p);
rde_param_i_symbol_save (p, s);
rde_param_i_error_nonterminal (p, m);
rde_stack_pop (p->LS, 1);
}
SCOPE void
- rde_param_i_symbol_done_d_void (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_d_void (RDE_PARAM p, long int s, long int m)
{
SV_CLEAR (p);
rde_param_i_symbol_save (p, s);
rde_param_i_error_nonterminal (p, m);
rde_param_i_ast_pop_rewind (p);
rde_stack_pop (p->LS, 1);
}
SCOPE void
- rde_param_i_next_char (RDE_PARAM p, char* c, int m)
+ rde_param_i_next_char (RDE_PARAM p, const char* c, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_char (p, c, m);
}
SCOPE void
- rde_param_i_next_range (RDE_PARAM p, char* s, char* e, int m)
+ rde_param_i_next_range (RDE_PARAM p, const char* s, const char* e, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_range (p, s, e, m);
}
SCOPE void
- rde_param_i_next_alnum (RDE_PARAM p, int m)
+ rde_param_i_next_alnum (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_alnum (p);
}
SCOPE void
- rde_param_i_next_alpha (RDE_PARAM p, int m)
+ rde_param_i_next_alpha (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_alpha (p);
}
SCOPE void
- rde_param_i_next_ascii (RDE_PARAM p, int m)
+ rde_param_i_next_ascii (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_ascii (p);
}
SCOPE void
- rde_param_i_next_control (RDE_PARAM p, int m)
+ rde_param_i_next_control (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_control (p);
}
SCOPE void
- rde_param_i_next_ddigit (RDE_PARAM p, int m)
+ rde_param_i_next_ddigit (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_ddigit (p);
}
SCOPE void
- rde_param_i_next_digit (RDE_PARAM p, int m)
+ rde_param_i_next_digit (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_digit (p);
}
SCOPE void
- rde_param_i_next_graph (RDE_PARAM p, int m)
+ rde_param_i_next_graph (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_graph (p);
}
SCOPE void
- rde_param_i_next_lower (RDE_PARAM p, int m)
+ rde_param_i_next_lower (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_lower (p);
}
SCOPE void
- rde_param_i_next_print (RDE_PARAM p, int m)
+ rde_param_i_next_print (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_print (p);
}
SCOPE void
- rde_param_i_next_punct (RDE_PARAM p, int m)
+ rde_param_i_next_punct (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_punct (p);
}
SCOPE void
- rde_param_i_next_space (RDE_PARAM p, int m)
+ rde_param_i_next_space (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_space (p);
}
SCOPE void
- rde_param_i_next_upper (RDE_PARAM p, int m)
+ rde_param_i_next_upper (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_upper (p);
}
SCOPE void
- rde_param_i_next_wordchar (RDE_PARAM p, int m)
+ rde_param_i_next_wordchar (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_wordchar (p);
}
SCOPE void
- rde_param_i_next_xdigit (RDE_PARAM p, int m)
+ rde_param_i_next_xdigit (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_xdigit (p);
}
@@ -1525,11 +1528,11 @@
rde_param_i_state_merge_value (RDE_PARAM p)
{
rde_param_i_error_pop_merge (p);
if (!p->ST) {
long int trim = (long int) rde_stack_top (p->mark);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
p->CL = (long int) rde_stack_top (p->LS);
}
rde_stack_pop (p->mark, 1);
rde_stack_pop (p->LS, 1);
}
@@ -1593,11 +1596,11 @@
if (p->ER) { p->ER->refCount ++; }
return 0;
} else {
long int trim = (long int) rde_stack_top (p->mark);
rde_stack_pop (p->mark, 1);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
p->CL = (long int) rde_stack_top (p->LS);
rde_stack_pop (p->LS, 1);
return 1;
}
}
@@ -1636,11 +1639,11 @@
rde_stack_pop (p->mark, 1);
rde_stack_pop (p->LS, 1);
} else {
long int trim = (long int) rde_stack_top (p->mark);
rde_stack_pop (p->mark, 1);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
p->CL = (long int) rde_stack_top (p->LS);
rde_stack_push (p->ES, p->ER);
if (p->ER) { p->ER->refCount ++; }
}
return p->ST;
@@ -1652,19 +1655,19 @@
if (p->ST) {
rde_stack_pop (p->mark, 1);
rde_stack_pop (p->LS, 1);
} else {
long int trim = (long int) rde_stack_top (p->mark);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
p->CL = (long int) rde_stack_top (p->LS);
rde_stack_push (p->ES, p->ER);
if (p->ER) { p->ER->refCount ++; }
}
return p->ST;
}
SCOPE void
- rde_param_i_next_str (RDE_PARAM p, const char* str, int m)
+ rde_param_i_next_str (RDE_PARAM p, const char* str, long int m)
{
int at = p->CL;
while (*str) {
rde_param_i_input_next (p, m);
@@ -1681,11 +1684,11 @@
}
str = Tcl_UtfNext (str);
}
}
SCOPE void
- rde_param_i_next_class (RDE_PARAM p, const char* class, int m)
+ rde_param_i_next_class (RDE_PARAM p, const char* class, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
while (*class) {
p->ST = Tcl_UtfNcmp (p->CC, class, 1) == 0;
@@ -1795,11 +1798,11 @@
Tcl_SetAssocData (interp, KEY, proc,
(ClientData) parserg);
}
parserg->counter ++;
- sprintf (parserg->buf, "PARSER%d", parserg->counter);
+ sprintf (parserg->buf, "PARSER%ld", parserg->counter);
return parserg->buf;
#undef KEY
}
static void
Index: modules/pt/tests/data/ok/peg_cparam-critcl/7_kleene
==================================================================
--- modules/pt/tests/data/ok/peg_cparam-critcl/7_kleene
+++ modules/pt/tests/data/ok/peg_cparam-critcl/7_kleene
@@ -417,18 +417,18 @@
}
SCOPE void
rde_tc_get (RDE_TC tc, int at, char** ch, long int* len)
{
long int oc, off, top, end;
- long int* ov;
- rde_stack_get (tc->off, &oc, (void***) &ov);
+ void** ov;
+ rde_stack_get (tc->off, &oc, &ov);
ASSERT_BOUNDS(at,oc);
- off = ov [at];
+ off = (long int) ov [at];
if ((at+1) == oc) {
end = tc->num;
} else {
- end = ov [at+1];
+ end = (long int) ov [at+1];
}
TRACE (("rde_tc_get (RDE_TC %p, @ %d) => %d.[%d ... %d]/%d",tc,at,end-off,off,end-1,tc->num));
ASSERT_BOUNDS(off,tc->num);
ASSERT_BOUNDS(end-1,tc->num);
*ch = tc->str + off;
@@ -436,19 +436,19 @@
}
SCOPE void
rde_tc_get_s (RDE_TC tc, int at, int last, char** ch, long int* len)
{
long int oc, off, top, end;
- long int* ov;
- rde_stack_get (tc->off, &oc, (void***) &ov);
+ void** ov;
+ rde_stack_get (tc->off, &oc, &ov);
ASSERT_BOUNDS(at,oc);
ASSERT_BOUNDS(last,oc);
- off = ov [at];
+ off = (long int) ov [at];
if ((last+1) == oc) {
end = tc->num;
} else {
- end = ov [last+1];
+ end = (long int) ov [last+1];
}
TRACE (("rde_tc_get_s (RDE_TC %p, @ %d .. %d) => %d.[%d ... %d]/%d",tc,at,last,end-off,off,end-1,tc->num));
ASSERT_BOUNDS(off,tc->num);
ASSERT_BOUNDS(end-1,tc->num);
*ch = tc->str + off;
@@ -497,11 +497,11 @@
tc_wordchar,
tc_xdigit
} test_class_id;
static void ast_node_free (void* n);
static void error_state_free (void* es);
- static void error_set (RDE_PARAM p, int s);
+ static void error_set (RDE_PARAM p, long int s);
static void nc_clear (RDE_PARAM p);
static int UniCharIsAscii (int character);
static int UniCharIsHexDigit (int character);
static int UniCharIsDecDigit (int character);
static void test_class (RDE_PARAM p, UniCharClass class, test_class_id id);
@@ -650,13 +650,13 @@
rde_param_query_clientdata (RDE_PARAM p)
{
return p->clientData;
}
SCOPE void
- rde_param_query_amark (RDE_PARAM p, long int* mc, long int** mv)
+ rde_param_query_amark (RDE_PARAM p, long int* mc, void*** mv)
{
- rde_stack_get (p->mark, mc, (void***) mv);
+ rde_stack_get (p->mark, mc, mv);
}
SCOPE void
rde_param_query_ast (RDE_PARAM p, long int* ac, Tcl_Obj*** av)
{
rde_stack_get (p->ast, ac, (void***) av);
@@ -693,25 +693,25 @@
res = Tcl_NewStringObj ("", 0);
} else {
Tcl_Obj* ov [2];
Tcl_Obj** mov;
long int mc, i, j;
- long int* mv;
+ void** mv;
int lastid;
const char* msg;
- rde_stack_get (er->msg, &mc, (void***) &mv);
+ rde_stack_get (er->msg, &mc, &mv);
- qsort (mv, mc, sizeof (long int), er_int_compare);
+ qsort (mv, mc, sizeof (void*), er_int_compare);
mov = NALLOC (mc, Tcl_Obj*);
lastid = -1;
for (i=0, j=0; i < mc; i++) {
ASSERT_BOUNDS (i,mc);
- if (mv [i] == lastid) continue;
- lastid = mv [i];
- ASSERT_BOUNDS(mv[i],p->numstr);
- msg = p->string [mv[i]];
+ if (((long int) mv [i]) == lastid) continue;
+ lastid = (long int) mv [i];
+ ASSERT_BOUNDS((long int) mv[i],p->numstr);
+ msg = p->string [(long int) mv[i]];
ASSERT_BOUNDS (j,mc);
mov [j] = Tcl_NewStringObj (msg, -1);
j++;
}
@@ -780,11 +780,11 @@
{
long int trim = (long int) rde_stack_top (p->mark);
ENTER ("rde_param_i_ast_pop_rewind");
TRACE (("RDE_PARAM %p",p));
rde_stack_pop (p->mark, 1);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
TRACE (("SV = (%p rc%d '%s')",
p->SV,
p->SV ? p->SV->refCount : -1,
p->SV ? Tcl_GetString (p->SV) : ""));
RETURNVOID;
@@ -793,11 +793,11 @@
rde_param_i_ast_rewind (RDE_PARAM p)
{
long int trim = (long int) rde_stack_top (p->mark);
ENTER ("rde_param_i_ast_rewind");
TRACE (("RDE_PARAM %p",p));
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
TRACE (("SV = (%p rc%d '%s')",
p->SV,
p->SV ? p->SV->refCount : -1,
p->SV ? Tcl_GetString (p->SV) : ""));
RETURNVOID;
@@ -828,11 +828,11 @@
rde_param_i_error_clear (RDE_PARAM p)
{
ER_CLEAR (p);
}
SCOPE void
- rde_param_i_error_nonterminal (RDE_PARAM p, int s)
+ rde_param_i_error_nonterminal (RDE_PARAM p, long int s)
{
return;
long int pos;
if (!p->ER) return;
@@ -884,11 +884,11 @@
{
rde_stack_push (p->ES, p->ER);
if (p->ER) { p->ER->refCount ++; }
}
static void
- error_set (RDE_PARAM p, int s)
+ error_set (RDE_PARAM p, long int s)
{
error_state_free (p->ER);
p->ER = ALLOC (ERROR_STATE);
p->ER->refCount = 1;
p->ER->loc = p->CL;
@@ -926,11 +926,11 @@
rde_param_i_loc_rewind (RDE_PARAM p)
{
p->CL = (long int) rde_stack_top (p->LS);
}
SCOPE void
- rde_param_i_input_next (RDE_PARAM p, int m)
+ rde_param_i_input_next (RDE_PARAM p, long int m)
{
int leni;
char* ch;
ASSERT_BOUNDS(m,p->numstr);
p->CL ++;
@@ -972,11 +972,11 @@
rde_param_i_status_negate (RDE_PARAM p)
{
p->ST = !p->ST;
}
SCOPE int
- rde_param_i_symbol_restore (RDE_PARAM p, int s)
+ rde_param_i_symbol_restore (RDE_PARAM p, long int s)
{
NC_STATE* scs;
Tcl_HashEntry* hPtr;
Tcl_HashTable* tablePtr;
@@ -995,11 +995,11 @@
TRACE (("SV_RESTORE (%p) '%s'",scs->SV, scs->SV ? Tcl_GetString (scs->SV):""));
SV_SET (p, scs->SV);
return 1;
}
SCOPE void
- rde_param_i_symbol_save (RDE_PARAM p, int s)
+ rde_param_i_symbol_save (RDE_PARAM p, long int s)
{
long int at = (long int) rde_stack_top (p->LS);
NC_STATE* scs;
Tcl_HashEntry* hPtr;
Tcl_HashTable* tablePtr;
@@ -1066,11 +1066,11 @@
rde_param_i_test_control (RDE_PARAM p)
{
test_class (p, Tcl_UniCharIsControl, tc_control);
}
SCOPE void
- rde_param_i_test_char (RDE_PARAM p, const char* c, int msg)
+ rde_param_i_test_char (RDE_PARAM p, const char* c, long int msg)
{
ASSERT_BOUNDS(msg,p->numstr);
p->ST = Tcl_UtfNcmp (p->CC, c, 1) == 0;
if (p->ST) {
ER_CLEAR (p);
@@ -1108,11 +1108,11 @@
rde_param_i_test_punct (RDE_PARAM p)
{
test_class (p, Tcl_UniCharIsPunct, tc_punct);
}
SCOPE void
- rde_param_i_test_range (RDE_PARAM p, char* s, char* e, int msg)
+ rde_param_i_test_range (RDE_PARAM p, const char* s, const char* e, long int msg)
{
ASSERT_BOUNDS(msg,p->numstr);
p->ST =
(Tcl_UtfNcmp (s, p->CC, 1) <= 0) &&
(Tcl_UtfNcmp (p->CC, e, 1) <= 0);
@@ -1177,11 +1177,11 @@
rde_param_i_value_clear (RDE_PARAM p)
{
SV_CLEAR (p);
}
SCOPE void
- rde_param_i_value_leaf (RDE_PARAM p, int s)
+ rde_param_i_value_leaf (RDE_PARAM p, long int s)
{
Tcl_Obj* newsv;
Tcl_Obj* ov [3];
long int pos = 1 + (long int) rde_stack_top (p->LS);
ASSERT_BOUNDS(s,p->numstr);
@@ -1191,11 +1191,11 @@
newsv = Tcl_NewListObj (3, ov);
TRACE (("rde_param_i_value_leaf => '%s'",Tcl_GetString (newsv)));
SV_SET (p, newsv);
}
SCOPE void
- rde_param_i_value_reduce (RDE_PARAM p, int s)
+ rde_param_i_value_reduce (RDE_PARAM p, long int s)
{
Tcl_Obj* newsv;
int oc, i, j;
Tcl_Obj** ov;
long int ac;
@@ -1223,18 +1223,21 @@
ckfree ((char*) ov);
}
static int
er_int_compare (const void* a, const void* b)
{
- long int ai = *((long int*) a);
- long int bi = *((long int*) b);
- if (ai < bi) { return -1; }
- if (ai > bi) { return 1; }
+
+ const void** ael = (const void**) a;
+ const void** bel = (const void**) b;
+ long int avalue = (long int) *ael;
+ long int bvalue = (long int) *bel;
+ if (avalue < bvalue) { return -1; }
+ if (avalue > bvalue) { return 1; }
return 0;
}
SCOPE int
- rde_param_i_symbol_start (RDE_PARAM p, int s)
+ rde_param_i_symbol_start (RDE_PARAM p, long int s)
{
if (rde_param_i_symbol_restore (p, s)) {
if (p->ST) {
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
@@ -1243,11 +1246,11 @@
}
rde_stack_push (p->LS, (void*) p->CL);
return 0;
}
SCOPE int
- rde_param_i_symbol_start_d (RDE_PARAM p, int s)
+ rde_param_i_symbol_start_d (RDE_PARAM p, long int s)
{
if (rde_param_i_symbol_restore (p, s)) {
if (p->ST) {
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
@@ -1257,26 +1260,26 @@
rde_stack_push (p->LS, (void*) p->CL);
rde_stack_push (p->mark, (void*) rde_stack_size (p->ast));
return 0;
}
SCOPE int
- rde_param_i_symbol_void_start (RDE_PARAM p, int s)
+ rde_param_i_symbol_void_start (RDE_PARAM p, long int s)
{
if (rde_param_i_symbol_restore (p, s)) return 1;
rde_stack_push (p->LS, (void*) p->CL);
return 0;
}
SCOPE int
- rde_param_i_symbol_void_start_d (RDE_PARAM p, int s)
+ rde_param_i_symbol_void_start_d (RDE_PARAM p, long int s)
{
if (rde_param_i_symbol_restore (p, s)) return 1;
rde_stack_push (p->LS, (void*) p->CL);
rde_stack_push (p->mark, (void*) rde_stack_size (p->ast));
return 0;
}
SCOPE void
- rde_param_i_symbol_done_d_reduce (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_d_reduce (RDE_PARAM p, long int s, long int m)
{
if (p->ST) {
rde_param_i_value_reduce (p, s);
} else {
SV_CLEAR (p);
@@ -1289,11 +1292,11 @@
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
}
}
SCOPE void
- rde_param_i_symbol_done_leaf (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_leaf (RDE_PARAM p, long int s, long int m)
{
if (p->ST) {
rde_param_i_value_leaf (p, s);
} else {
SV_CLEAR (p);
@@ -1305,11 +1308,11 @@
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
}
}
SCOPE void
- rde_param_i_symbol_done_d_leaf (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_d_leaf (RDE_PARAM p, long int s, long int m)
{
if (p->ST) {
rde_param_i_value_leaf (p, s);
} else {
SV_CLEAR (p);
@@ -1322,133 +1325,133 @@
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
}
}
SCOPE void
- rde_param_i_symbol_done_void (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_void (RDE_PARAM p, long int s, long int m)
{
SV_CLEAR (p);
rde_param_i_symbol_save (p, s);
rde_param_i_error_nonterminal (p, m);
rde_stack_pop (p->LS, 1);
}
SCOPE void
- rde_param_i_symbol_done_d_void (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_d_void (RDE_PARAM p, long int s, long int m)
{
SV_CLEAR (p);
rde_param_i_symbol_save (p, s);
rde_param_i_error_nonterminal (p, m);
rde_param_i_ast_pop_rewind (p);
rde_stack_pop (p->LS, 1);
}
SCOPE void
- rde_param_i_next_char (RDE_PARAM p, char* c, int m)
+ rde_param_i_next_char (RDE_PARAM p, const char* c, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_char (p, c, m);
}
SCOPE void
- rde_param_i_next_range (RDE_PARAM p, char* s, char* e, int m)
+ rde_param_i_next_range (RDE_PARAM p, const char* s, const char* e, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_range (p, s, e, m);
}
SCOPE void
- rde_param_i_next_alnum (RDE_PARAM p, int m)
+ rde_param_i_next_alnum (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_alnum (p);
}
SCOPE void
- rde_param_i_next_alpha (RDE_PARAM p, int m)
+ rde_param_i_next_alpha (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_alpha (p);
}
SCOPE void
- rde_param_i_next_ascii (RDE_PARAM p, int m)
+ rde_param_i_next_ascii (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_ascii (p);
}
SCOPE void
- rde_param_i_next_control (RDE_PARAM p, int m)
+ rde_param_i_next_control (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_control (p);
}
SCOPE void
- rde_param_i_next_ddigit (RDE_PARAM p, int m)
+ rde_param_i_next_ddigit (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_ddigit (p);
}
SCOPE void
- rde_param_i_next_digit (RDE_PARAM p, int m)
+ rde_param_i_next_digit (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_digit (p);
}
SCOPE void
- rde_param_i_next_graph (RDE_PARAM p, int m)
+ rde_param_i_next_graph (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_graph (p);
}
SCOPE void
- rde_param_i_next_lower (RDE_PARAM p, int m)
+ rde_param_i_next_lower (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_lower (p);
}
SCOPE void
- rde_param_i_next_print (RDE_PARAM p, int m)
+ rde_param_i_next_print (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_print (p);
}
SCOPE void
- rde_param_i_next_punct (RDE_PARAM p, int m)
+ rde_param_i_next_punct (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_punct (p);
}
SCOPE void
- rde_param_i_next_space (RDE_PARAM p, int m)
+ rde_param_i_next_space (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_space (p);
}
SCOPE void
- rde_param_i_next_upper (RDE_PARAM p, int m)
+ rde_param_i_next_upper (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_upper (p);
}
SCOPE void
- rde_param_i_next_wordchar (RDE_PARAM p, int m)
+ rde_param_i_next_wordchar (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_wordchar (p);
}
SCOPE void
- rde_param_i_next_xdigit (RDE_PARAM p, int m)
+ rde_param_i_next_xdigit (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_xdigit (p);
}
@@ -1525,11 +1528,11 @@
rde_param_i_state_merge_value (RDE_PARAM p)
{
rde_param_i_error_pop_merge (p);
if (!p->ST) {
long int trim = (long int) rde_stack_top (p->mark);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
p->CL = (long int) rde_stack_top (p->LS);
}
rde_stack_pop (p->mark, 1);
rde_stack_pop (p->LS, 1);
}
@@ -1593,11 +1596,11 @@
if (p->ER) { p->ER->refCount ++; }
return 0;
} else {
long int trim = (long int) rde_stack_top (p->mark);
rde_stack_pop (p->mark, 1);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
p->CL = (long int) rde_stack_top (p->LS);
rde_stack_pop (p->LS, 1);
return 1;
}
}
@@ -1636,11 +1639,11 @@
rde_stack_pop (p->mark, 1);
rde_stack_pop (p->LS, 1);
} else {
long int trim = (long int) rde_stack_top (p->mark);
rde_stack_pop (p->mark, 1);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
p->CL = (long int) rde_stack_top (p->LS);
rde_stack_push (p->ES, p->ER);
if (p->ER) { p->ER->refCount ++; }
}
return p->ST;
@@ -1652,19 +1655,19 @@
if (p->ST) {
rde_stack_pop (p->mark, 1);
rde_stack_pop (p->LS, 1);
} else {
long int trim = (long int) rde_stack_top (p->mark);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
p->CL = (long int) rde_stack_top (p->LS);
rde_stack_push (p->ES, p->ER);
if (p->ER) { p->ER->refCount ++; }
}
return p->ST;
}
SCOPE void
- rde_param_i_next_str (RDE_PARAM p, const char* str, int m)
+ rde_param_i_next_str (RDE_PARAM p, const char* str, long int m)
{
int at = p->CL;
while (*str) {
rde_param_i_input_next (p, m);
@@ -1681,11 +1684,11 @@
}
str = Tcl_UtfNext (str);
}
}
SCOPE void
- rde_param_i_next_class (RDE_PARAM p, const char* class, int m)
+ rde_param_i_next_class (RDE_PARAM p, const char* class, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
while (*class) {
p->ST = Tcl_UtfNcmp (p->CC, class, 1) == 0;
@@ -1797,11 +1800,11 @@
Tcl_SetAssocData (interp, KEY, proc,
(ClientData) parserg);
}
parserg->counter ++;
- sprintf (parserg->buf, "PARSER%d", parserg->counter);
+ sprintf (parserg->buf, "PARSER%ld", parserg->counter);
return parserg->buf;
#undef KEY
}
static void
Index: modules/pt/tests/data/ok/peg_cparam-critcl/8_pkleene
==================================================================
--- modules/pt/tests/data/ok/peg_cparam-critcl/8_pkleene
+++ modules/pt/tests/data/ok/peg_cparam-critcl/8_pkleene
@@ -417,18 +417,18 @@
}
SCOPE void
rde_tc_get (RDE_TC tc, int at, char** ch, long int* len)
{
long int oc, off, top, end;
- long int* ov;
- rde_stack_get (tc->off, &oc, (void***) &ov);
+ void** ov;
+ rde_stack_get (tc->off, &oc, &ov);
ASSERT_BOUNDS(at,oc);
- off = ov [at];
+ off = (long int) ov [at];
if ((at+1) == oc) {
end = tc->num;
} else {
- end = ov [at+1];
+ end = (long int) ov [at+1];
}
TRACE (("rde_tc_get (RDE_TC %p, @ %d) => %d.[%d ... %d]/%d",tc,at,end-off,off,end-1,tc->num));
ASSERT_BOUNDS(off,tc->num);
ASSERT_BOUNDS(end-1,tc->num);
*ch = tc->str + off;
@@ -436,19 +436,19 @@
}
SCOPE void
rde_tc_get_s (RDE_TC tc, int at, int last, char** ch, long int* len)
{
long int oc, off, top, end;
- long int* ov;
- rde_stack_get (tc->off, &oc, (void***) &ov);
+ void** ov;
+ rde_stack_get (tc->off, &oc, &ov);
ASSERT_BOUNDS(at,oc);
ASSERT_BOUNDS(last,oc);
- off = ov [at];
+ off = (long int) ov [at];
if ((last+1) == oc) {
end = tc->num;
} else {
- end = ov [last+1];
+ end = (long int) ov [last+1];
}
TRACE (("rde_tc_get_s (RDE_TC %p, @ %d .. %d) => %d.[%d ... %d]/%d",tc,at,last,end-off,off,end-1,tc->num));
ASSERT_BOUNDS(off,tc->num);
ASSERT_BOUNDS(end-1,tc->num);
*ch = tc->str + off;
@@ -497,11 +497,11 @@
tc_wordchar,
tc_xdigit
} test_class_id;
static void ast_node_free (void* n);
static void error_state_free (void* es);
- static void error_set (RDE_PARAM p, int s);
+ static void error_set (RDE_PARAM p, long int s);
static void nc_clear (RDE_PARAM p);
static int UniCharIsAscii (int character);
static int UniCharIsHexDigit (int character);
static int UniCharIsDecDigit (int character);
static void test_class (RDE_PARAM p, UniCharClass class, test_class_id id);
@@ -650,13 +650,13 @@
rde_param_query_clientdata (RDE_PARAM p)
{
return p->clientData;
}
SCOPE void
- rde_param_query_amark (RDE_PARAM p, long int* mc, long int** mv)
+ rde_param_query_amark (RDE_PARAM p, long int* mc, void*** mv)
{
- rde_stack_get (p->mark, mc, (void***) mv);
+ rde_stack_get (p->mark, mc, mv);
}
SCOPE void
rde_param_query_ast (RDE_PARAM p, long int* ac, Tcl_Obj*** av)
{
rde_stack_get (p->ast, ac, (void***) av);
@@ -693,25 +693,25 @@
res = Tcl_NewStringObj ("", 0);
} else {
Tcl_Obj* ov [2];
Tcl_Obj** mov;
long int mc, i, j;
- long int* mv;
+ void** mv;
int lastid;
const char* msg;
- rde_stack_get (er->msg, &mc, (void***) &mv);
+ rde_stack_get (er->msg, &mc, &mv);
- qsort (mv, mc, sizeof (long int), er_int_compare);
+ qsort (mv, mc, sizeof (void*), er_int_compare);
mov = NALLOC (mc, Tcl_Obj*);
lastid = -1;
for (i=0, j=0; i < mc; i++) {
ASSERT_BOUNDS (i,mc);
- if (mv [i] == lastid) continue;
- lastid = mv [i];
- ASSERT_BOUNDS(mv[i],p->numstr);
- msg = p->string [mv[i]];
+ if (((long int) mv [i]) == lastid) continue;
+ lastid = (long int) mv [i];
+ ASSERT_BOUNDS((long int) mv[i],p->numstr);
+ msg = p->string [(long int) mv[i]];
ASSERT_BOUNDS (j,mc);
mov [j] = Tcl_NewStringObj (msg, -1);
j++;
}
@@ -780,11 +780,11 @@
{
long int trim = (long int) rde_stack_top (p->mark);
ENTER ("rde_param_i_ast_pop_rewind");
TRACE (("RDE_PARAM %p",p));
rde_stack_pop (p->mark, 1);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
TRACE (("SV = (%p rc%d '%s')",
p->SV,
p->SV ? p->SV->refCount : -1,
p->SV ? Tcl_GetString (p->SV) : ""));
RETURNVOID;
@@ -793,11 +793,11 @@
rde_param_i_ast_rewind (RDE_PARAM p)
{
long int trim = (long int) rde_stack_top (p->mark);
ENTER ("rde_param_i_ast_rewind");
TRACE (("RDE_PARAM %p",p));
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
TRACE (("SV = (%p rc%d '%s')",
p->SV,
p->SV ? p->SV->refCount : -1,
p->SV ? Tcl_GetString (p->SV) : ""));
RETURNVOID;
@@ -828,11 +828,11 @@
rde_param_i_error_clear (RDE_PARAM p)
{
ER_CLEAR (p);
}
SCOPE void
- rde_param_i_error_nonterminal (RDE_PARAM p, int s)
+ rde_param_i_error_nonterminal (RDE_PARAM p, long int s)
{
return;
long int pos;
if (!p->ER) return;
@@ -884,11 +884,11 @@
{
rde_stack_push (p->ES, p->ER);
if (p->ER) { p->ER->refCount ++; }
}
static void
- error_set (RDE_PARAM p, int s)
+ error_set (RDE_PARAM p, long int s)
{
error_state_free (p->ER);
p->ER = ALLOC (ERROR_STATE);
p->ER->refCount = 1;
p->ER->loc = p->CL;
@@ -926,11 +926,11 @@
rde_param_i_loc_rewind (RDE_PARAM p)
{
p->CL = (long int) rde_stack_top (p->LS);
}
SCOPE void
- rde_param_i_input_next (RDE_PARAM p, int m)
+ rde_param_i_input_next (RDE_PARAM p, long int m)
{
int leni;
char* ch;
ASSERT_BOUNDS(m,p->numstr);
p->CL ++;
@@ -972,11 +972,11 @@
rde_param_i_status_negate (RDE_PARAM p)
{
p->ST = !p->ST;
}
SCOPE int
- rde_param_i_symbol_restore (RDE_PARAM p, int s)
+ rde_param_i_symbol_restore (RDE_PARAM p, long int s)
{
NC_STATE* scs;
Tcl_HashEntry* hPtr;
Tcl_HashTable* tablePtr;
@@ -995,11 +995,11 @@
TRACE (("SV_RESTORE (%p) '%s'",scs->SV, scs->SV ? Tcl_GetString (scs->SV):""));
SV_SET (p, scs->SV);
return 1;
}
SCOPE void
- rde_param_i_symbol_save (RDE_PARAM p, int s)
+ rde_param_i_symbol_save (RDE_PARAM p, long int s)
{
long int at = (long int) rde_stack_top (p->LS);
NC_STATE* scs;
Tcl_HashEntry* hPtr;
Tcl_HashTable* tablePtr;
@@ -1066,11 +1066,11 @@
rde_param_i_test_control (RDE_PARAM p)
{
test_class (p, Tcl_UniCharIsControl, tc_control);
}
SCOPE void
- rde_param_i_test_char (RDE_PARAM p, const char* c, int msg)
+ rde_param_i_test_char (RDE_PARAM p, const char* c, long int msg)
{
ASSERT_BOUNDS(msg,p->numstr);
p->ST = Tcl_UtfNcmp (p->CC, c, 1) == 0;
if (p->ST) {
ER_CLEAR (p);
@@ -1108,11 +1108,11 @@
rde_param_i_test_punct (RDE_PARAM p)
{
test_class (p, Tcl_UniCharIsPunct, tc_punct);
}
SCOPE void
- rde_param_i_test_range (RDE_PARAM p, char* s, char* e, int msg)
+ rde_param_i_test_range (RDE_PARAM p, const char* s, const char* e, long int msg)
{
ASSERT_BOUNDS(msg,p->numstr);
p->ST =
(Tcl_UtfNcmp (s, p->CC, 1) <= 0) &&
(Tcl_UtfNcmp (p->CC, e, 1) <= 0);
@@ -1177,11 +1177,11 @@
rde_param_i_value_clear (RDE_PARAM p)
{
SV_CLEAR (p);
}
SCOPE void
- rde_param_i_value_leaf (RDE_PARAM p, int s)
+ rde_param_i_value_leaf (RDE_PARAM p, long int s)
{
Tcl_Obj* newsv;
Tcl_Obj* ov [3];
long int pos = 1 + (long int) rde_stack_top (p->LS);
ASSERT_BOUNDS(s,p->numstr);
@@ -1191,11 +1191,11 @@
newsv = Tcl_NewListObj (3, ov);
TRACE (("rde_param_i_value_leaf => '%s'",Tcl_GetString (newsv)));
SV_SET (p, newsv);
}
SCOPE void
- rde_param_i_value_reduce (RDE_PARAM p, int s)
+ rde_param_i_value_reduce (RDE_PARAM p, long int s)
{
Tcl_Obj* newsv;
int oc, i, j;
Tcl_Obj** ov;
long int ac;
@@ -1223,18 +1223,21 @@
ckfree ((char*) ov);
}
static int
er_int_compare (const void* a, const void* b)
{
- long int ai = *((long int*) a);
- long int bi = *((long int*) b);
- if (ai < bi) { return -1; }
- if (ai > bi) { return 1; }
+
+ const void** ael = (const void**) a;
+ const void** bel = (const void**) b;
+ long int avalue = (long int) *ael;
+ long int bvalue = (long int) *bel;
+ if (avalue < bvalue) { return -1; }
+ if (avalue > bvalue) { return 1; }
return 0;
}
SCOPE int
- rde_param_i_symbol_start (RDE_PARAM p, int s)
+ rde_param_i_symbol_start (RDE_PARAM p, long int s)
{
if (rde_param_i_symbol_restore (p, s)) {
if (p->ST) {
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
@@ -1243,11 +1246,11 @@
}
rde_stack_push (p->LS, (void*) p->CL);
return 0;
}
SCOPE int
- rde_param_i_symbol_start_d (RDE_PARAM p, int s)
+ rde_param_i_symbol_start_d (RDE_PARAM p, long int s)
{
if (rde_param_i_symbol_restore (p, s)) {
if (p->ST) {
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
@@ -1257,26 +1260,26 @@
rde_stack_push (p->LS, (void*) p->CL);
rde_stack_push (p->mark, (void*) rde_stack_size (p->ast));
return 0;
}
SCOPE int
- rde_param_i_symbol_void_start (RDE_PARAM p, int s)
+ rde_param_i_symbol_void_start (RDE_PARAM p, long int s)
{
if (rde_param_i_symbol_restore (p, s)) return 1;
rde_stack_push (p->LS, (void*) p->CL);
return 0;
}
SCOPE int
- rde_param_i_symbol_void_start_d (RDE_PARAM p, int s)
+ rde_param_i_symbol_void_start_d (RDE_PARAM p, long int s)
{
if (rde_param_i_symbol_restore (p, s)) return 1;
rde_stack_push (p->LS, (void*) p->CL);
rde_stack_push (p->mark, (void*) rde_stack_size (p->ast));
return 0;
}
SCOPE void
- rde_param_i_symbol_done_d_reduce (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_d_reduce (RDE_PARAM p, long int s, long int m)
{
if (p->ST) {
rde_param_i_value_reduce (p, s);
} else {
SV_CLEAR (p);
@@ -1289,11 +1292,11 @@
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
}
}
SCOPE void
- rde_param_i_symbol_done_leaf (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_leaf (RDE_PARAM p, long int s, long int m)
{
if (p->ST) {
rde_param_i_value_leaf (p, s);
} else {
SV_CLEAR (p);
@@ -1305,11 +1308,11 @@
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
}
}
SCOPE void
- rde_param_i_symbol_done_d_leaf (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_d_leaf (RDE_PARAM p, long int s, long int m)
{
if (p->ST) {
rde_param_i_value_leaf (p, s);
} else {
SV_CLEAR (p);
@@ -1322,133 +1325,133 @@
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
}
}
SCOPE void
- rde_param_i_symbol_done_void (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_void (RDE_PARAM p, long int s, long int m)
{
SV_CLEAR (p);
rde_param_i_symbol_save (p, s);
rde_param_i_error_nonterminal (p, m);
rde_stack_pop (p->LS, 1);
}
SCOPE void
- rde_param_i_symbol_done_d_void (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_d_void (RDE_PARAM p, long int s, long int m)
{
SV_CLEAR (p);
rde_param_i_symbol_save (p, s);
rde_param_i_error_nonterminal (p, m);
rde_param_i_ast_pop_rewind (p);
rde_stack_pop (p->LS, 1);
}
SCOPE void
- rde_param_i_next_char (RDE_PARAM p, char* c, int m)
+ rde_param_i_next_char (RDE_PARAM p, const char* c, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_char (p, c, m);
}
SCOPE void
- rde_param_i_next_range (RDE_PARAM p, char* s, char* e, int m)
+ rde_param_i_next_range (RDE_PARAM p, const char* s, const char* e, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_range (p, s, e, m);
}
SCOPE void
- rde_param_i_next_alnum (RDE_PARAM p, int m)
+ rde_param_i_next_alnum (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_alnum (p);
}
SCOPE void
- rde_param_i_next_alpha (RDE_PARAM p, int m)
+ rde_param_i_next_alpha (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_alpha (p);
}
SCOPE void
- rde_param_i_next_ascii (RDE_PARAM p, int m)
+ rde_param_i_next_ascii (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_ascii (p);
}
SCOPE void
- rde_param_i_next_control (RDE_PARAM p, int m)
+ rde_param_i_next_control (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_control (p);
}
SCOPE void
- rde_param_i_next_ddigit (RDE_PARAM p, int m)
+ rde_param_i_next_ddigit (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_ddigit (p);
}
SCOPE void
- rde_param_i_next_digit (RDE_PARAM p, int m)
+ rde_param_i_next_digit (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_digit (p);
}
SCOPE void
- rde_param_i_next_graph (RDE_PARAM p, int m)
+ rde_param_i_next_graph (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_graph (p);
}
SCOPE void
- rde_param_i_next_lower (RDE_PARAM p, int m)
+ rde_param_i_next_lower (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_lower (p);
}
SCOPE void
- rde_param_i_next_print (RDE_PARAM p, int m)
+ rde_param_i_next_print (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_print (p);
}
SCOPE void
- rde_param_i_next_punct (RDE_PARAM p, int m)
+ rde_param_i_next_punct (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_punct (p);
}
SCOPE void
- rde_param_i_next_space (RDE_PARAM p, int m)
+ rde_param_i_next_space (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_space (p);
}
SCOPE void
- rde_param_i_next_upper (RDE_PARAM p, int m)
+ rde_param_i_next_upper (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_upper (p);
}
SCOPE void
- rde_param_i_next_wordchar (RDE_PARAM p, int m)
+ rde_param_i_next_wordchar (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_wordchar (p);
}
SCOPE void
- rde_param_i_next_xdigit (RDE_PARAM p, int m)
+ rde_param_i_next_xdigit (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_xdigit (p);
}
@@ -1525,11 +1528,11 @@
rde_param_i_state_merge_value (RDE_PARAM p)
{
rde_param_i_error_pop_merge (p);
if (!p->ST) {
long int trim = (long int) rde_stack_top (p->mark);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
p->CL = (long int) rde_stack_top (p->LS);
}
rde_stack_pop (p->mark, 1);
rde_stack_pop (p->LS, 1);
}
@@ -1593,11 +1596,11 @@
if (p->ER) { p->ER->refCount ++; }
return 0;
} else {
long int trim = (long int) rde_stack_top (p->mark);
rde_stack_pop (p->mark, 1);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
p->CL = (long int) rde_stack_top (p->LS);
rde_stack_pop (p->LS, 1);
return 1;
}
}
@@ -1636,11 +1639,11 @@
rde_stack_pop (p->mark, 1);
rde_stack_pop (p->LS, 1);
} else {
long int trim = (long int) rde_stack_top (p->mark);
rde_stack_pop (p->mark, 1);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
p->CL = (long int) rde_stack_top (p->LS);
rde_stack_push (p->ES, p->ER);
if (p->ER) { p->ER->refCount ++; }
}
return p->ST;
@@ -1652,19 +1655,19 @@
if (p->ST) {
rde_stack_pop (p->mark, 1);
rde_stack_pop (p->LS, 1);
} else {
long int trim = (long int) rde_stack_top (p->mark);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
p->CL = (long int) rde_stack_top (p->LS);
rde_stack_push (p->ES, p->ER);
if (p->ER) { p->ER->refCount ++; }
}
return p->ST;
}
SCOPE void
- rde_param_i_next_str (RDE_PARAM p, const char* str, int m)
+ rde_param_i_next_str (RDE_PARAM p, const char* str, long int m)
{
int at = p->CL;
while (*str) {
rde_param_i_input_next (p, m);
@@ -1681,11 +1684,11 @@
}
str = Tcl_UtfNext (str);
}
}
SCOPE void
- rde_param_i_next_class (RDE_PARAM p, const char* class, int m)
+ rde_param_i_next_class (RDE_PARAM p, const char* class, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
while (*class) {
p->ST = Tcl_UtfNcmp (p->CC, class, 1) == 0;
@@ -1800,11 +1803,11 @@
Tcl_SetAssocData (interp, KEY, proc,
(ClientData) parserg);
}
parserg->counter ++;
- sprintf (parserg->buf, "PARSER%d", parserg->counter);
+ sprintf (parserg->buf, "PARSER%ld", parserg->counter);
return parserg->buf;
#undef KEY
}
static void
Index: modules/pt/tests/data/ok/peg_cparam-critcl/9_ahead
==================================================================
--- modules/pt/tests/data/ok/peg_cparam-critcl/9_ahead
+++ modules/pt/tests/data/ok/peg_cparam-critcl/9_ahead
@@ -417,18 +417,18 @@
}
SCOPE void
rde_tc_get (RDE_TC tc, int at, char** ch, long int* len)
{
long int oc, off, top, end;
- long int* ov;
- rde_stack_get (tc->off, &oc, (void***) &ov);
+ void** ov;
+ rde_stack_get (tc->off, &oc, &ov);
ASSERT_BOUNDS(at,oc);
- off = ov [at];
+ off = (long int) ov [at];
if ((at+1) == oc) {
end = tc->num;
} else {
- end = ov [at+1];
+ end = (long int) ov [at+1];
}
TRACE (("rde_tc_get (RDE_TC %p, @ %d) => %d.[%d ... %d]/%d",tc,at,end-off,off,end-1,tc->num));
ASSERT_BOUNDS(off,tc->num);
ASSERT_BOUNDS(end-1,tc->num);
*ch = tc->str + off;
@@ -436,19 +436,19 @@
}
SCOPE void
rde_tc_get_s (RDE_TC tc, int at, int last, char** ch, long int* len)
{
long int oc, off, top, end;
- long int* ov;
- rde_stack_get (tc->off, &oc, (void***) &ov);
+ void** ov;
+ rde_stack_get (tc->off, &oc, &ov);
ASSERT_BOUNDS(at,oc);
ASSERT_BOUNDS(last,oc);
- off = ov [at];
+ off = (long int) ov [at];
if ((last+1) == oc) {
end = tc->num;
} else {
- end = ov [last+1];
+ end = (long int) ov [last+1];
}
TRACE (("rde_tc_get_s (RDE_TC %p, @ %d .. %d) => %d.[%d ... %d]/%d",tc,at,last,end-off,off,end-1,tc->num));
ASSERT_BOUNDS(off,tc->num);
ASSERT_BOUNDS(end-1,tc->num);
*ch = tc->str + off;
@@ -497,11 +497,11 @@
tc_wordchar,
tc_xdigit
} test_class_id;
static void ast_node_free (void* n);
static void error_state_free (void* es);
- static void error_set (RDE_PARAM p, int s);
+ static void error_set (RDE_PARAM p, long int s);
static void nc_clear (RDE_PARAM p);
static int UniCharIsAscii (int character);
static int UniCharIsHexDigit (int character);
static int UniCharIsDecDigit (int character);
static void test_class (RDE_PARAM p, UniCharClass class, test_class_id id);
@@ -650,13 +650,13 @@
rde_param_query_clientdata (RDE_PARAM p)
{
return p->clientData;
}
SCOPE void
- rde_param_query_amark (RDE_PARAM p, long int* mc, long int** mv)
+ rde_param_query_amark (RDE_PARAM p, long int* mc, void*** mv)
{
- rde_stack_get (p->mark, mc, (void***) mv);
+ rde_stack_get (p->mark, mc, mv);
}
SCOPE void
rde_param_query_ast (RDE_PARAM p, long int* ac, Tcl_Obj*** av)
{
rde_stack_get (p->ast, ac, (void***) av);
@@ -693,25 +693,25 @@
res = Tcl_NewStringObj ("", 0);
} else {
Tcl_Obj* ov [2];
Tcl_Obj** mov;
long int mc, i, j;
- long int* mv;
+ void** mv;
int lastid;
const char* msg;
- rde_stack_get (er->msg, &mc, (void***) &mv);
+ rde_stack_get (er->msg, &mc, &mv);
- qsort (mv, mc, sizeof (long int), er_int_compare);
+ qsort (mv, mc, sizeof (void*), er_int_compare);
mov = NALLOC (mc, Tcl_Obj*);
lastid = -1;
for (i=0, j=0; i < mc; i++) {
ASSERT_BOUNDS (i,mc);
- if (mv [i] == lastid) continue;
- lastid = mv [i];
- ASSERT_BOUNDS(mv[i],p->numstr);
- msg = p->string [mv[i]];
+ if (((long int) mv [i]) == lastid) continue;
+ lastid = (long int) mv [i];
+ ASSERT_BOUNDS((long int) mv[i],p->numstr);
+ msg = p->string [(long int) mv[i]];
ASSERT_BOUNDS (j,mc);
mov [j] = Tcl_NewStringObj (msg, -1);
j++;
}
@@ -780,11 +780,11 @@
{
long int trim = (long int) rde_stack_top (p->mark);
ENTER ("rde_param_i_ast_pop_rewind");
TRACE (("RDE_PARAM %p",p));
rde_stack_pop (p->mark, 1);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
TRACE (("SV = (%p rc%d '%s')",
p->SV,
p->SV ? p->SV->refCount : -1,
p->SV ? Tcl_GetString (p->SV) : ""));
RETURNVOID;
@@ -793,11 +793,11 @@
rde_param_i_ast_rewind (RDE_PARAM p)
{
long int trim = (long int) rde_stack_top (p->mark);
ENTER ("rde_param_i_ast_rewind");
TRACE (("RDE_PARAM %p",p));
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
TRACE (("SV = (%p rc%d '%s')",
p->SV,
p->SV ? p->SV->refCount : -1,
p->SV ? Tcl_GetString (p->SV) : ""));
RETURNVOID;
@@ -828,11 +828,11 @@
rde_param_i_error_clear (RDE_PARAM p)
{
ER_CLEAR (p);
}
SCOPE void
- rde_param_i_error_nonterminal (RDE_PARAM p, int s)
+ rde_param_i_error_nonterminal (RDE_PARAM p, long int s)
{
return;
long int pos;
if (!p->ER) return;
@@ -884,11 +884,11 @@
{
rde_stack_push (p->ES, p->ER);
if (p->ER) { p->ER->refCount ++; }
}
static void
- error_set (RDE_PARAM p, int s)
+ error_set (RDE_PARAM p, long int s)
{
error_state_free (p->ER);
p->ER = ALLOC (ERROR_STATE);
p->ER->refCount = 1;
p->ER->loc = p->CL;
@@ -926,11 +926,11 @@
rde_param_i_loc_rewind (RDE_PARAM p)
{
p->CL = (long int) rde_stack_top (p->LS);
}
SCOPE void
- rde_param_i_input_next (RDE_PARAM p, int m)
+ rde_param_i_input_next (RDE_PARAM p, long int m)
{
int leni;
char* ch;
ASSERT_BOUNDS(m,p->numstr);
p->CL ++;
@@ -972,11 +972,11 @@
rde_param_i_status_negate (RDE_PARAM p)
{
p->ST = !p->ST;
}
SCOPE int
- rde_param_i_symbol_restore (RDE_PARAM p, int s)
+ rde_param_i_symbol_restore (RDE_PARAM p, long int s)
{
NC_STATE* scs;
Tcl_HashEntry* hPtr;
Tcl_HashTable* tablePtr;
@@ -995,11 +995,11 @@
TRACE (("SV_RESTORE (%p) '%s'",scs->SV, scs->SV ? Tcl_GetString (scs->SV):""));
SV_SET (p, scs->SV);
return 1;
}
SCOPE void
- rde_param_i_symbol_save (RDE_PARAM p, int s)
+ rde_param_i_symbol_save (RDE_PARAM p, long int s)
{
long int at = (long int) rde_stack_top (p->LS);
NC_STATE* scs;
Tcl_HashEntry* hPtr;
Tcl_HashTable* tablePtr;
@@ -1066,11 +1066,11 @@
rde_param_i_test_control (RDE_PARAM p)
{
test_class (p, Tcl_UniCharIsControl, tc_control);
}
SCOPE void
- rde_param_i_test_char (RDE_PARAM p, const char* c, int msg)
+ rde_param_i_test_char (RDE_PARAM p, const char* c, long int msg)
{
ASSERT_BOUNDS(msg,p->numstr);
p->ST = Tcl_UtfNcmp (p->CC, c, 1) == 0;
if (p->ST) {
ER_CLEAR (p);
@@ -1108,11 +1108,11 @@
rde_param_i_test_punct (RDE_PARAM p)
{
test_class (p, Tcl_UniCharIsPunct, tc_punct);
}
SCOPE void
- rde_param_i_test_range (RDE_PARAM p, char* s, char* e, int msg)
+ rde_param_i_test_range (RDE_PARAM p, const char* s, const char* e, long int msg)
{
ASSERT_BOUNDS(msg,p->numstr);
p->ST =
(Tcl_UtfNcmp (s, p->CC, 1) <= 0) &&
(Tcl_UtfNcmp (p->CC, e, 1) <= 0);
@@ -1177,11 +1177,11 @@
rde_param_i_value_clear (RDE_PARAM p)
{
SV_CLEAR (p);
}
SCOPE void
- rde_param_i_value_leaf (RDE_PARAM p, int s)
+ rde_param_i_value_leaf (RDE_PARAM p, long int s)
{
Tcl_Obj* newsv;
Tcl_Obj* ov [3];
long int pos = 1 + (long int) rde_stack_top (p->LS);
ASSERT_BOUNDS(s,p->numstr);
@@ -1191,11 +1191,11 @@
newsv = Tcl_NewListObj (3, ov);
TRACE (("rde_param_i_value_leaf => '%s'",Tcl_GetString (newsv)));
SV_SET (p, newsv);
}
SCOPE void
- rde_param_i_value_reduce (RDE_PARAM p, int s)
+ rde_param_i_value_reduce (RDE_PARAM p, long int s)
{
Tcl_Obj* newsv;
int oc, i, j;
Tcl_Obj** ov;
long int ac;
@@ -1223,18 +1223,21 @@
ckfree ((char*) ov);
}
static int
er_int_compare (const void* a, const void* b)
{
- long int ai = *((long int*) a);
- long int bi = *((long int*) b);
- if (ai < bi) { return -1; }
- if (ai > bi) { return 1; }
+
+ const void** ael = (const void**) a;
+ const void** bel = (const void**) b;
+ long int avalue = (long int) *ael;
+ long int bvalue = (long int) *bel;
+ if (avalue < bvalue) { return -1; }
+ if (avalue > bvalue) { return 1; }
return 0;
}
SCOPE int
- rde_param_i_symbol_start (RDE_PARAM p, int s)
+ rde_param_i_symbol_start (RDE_PARAM p, long int s)
{
if (rde_param_i_symbol_restore (p, s)) {
if (p->ST) {
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
@@ -1243,11 +1246,11 @@
}
rde_stack_push (p->LS, (void*) p->CL);
return 0;
}
SCOPE int
- rde_param_i_symbol_start_d (RDE_PARAM p, int s)
+ rde_param_i_symbol_start_d (RDE_PARAM p, long int s)
{
if (rde_param_i_symbol_restore (p, s)) {
if (p->ST) {
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
@@ -1257,26 +1260,26 @@
rde_stack_push (p->LS, (void*) p->CL);
rde_stack_push (p->mark, (void*) rde_stack_size (p->ast));
return 0;
}
SCOPE int
- rde_param_i_symbol_void_start (RDE_PARAM p, int s)
+ rde_param_i_symbol_void_start (RDE_PARAM p, long int s)
{
if (rde_param_i_symbol_restore (p, s)) return 1;
rde_stack_push (p->LS, (void*) p->CL);
return 0;
}
SCOPE int
- rde_param_i_symbol_void_start_d (RDE_PARAM p, int s)
+ rde_param_i_symbol_void_start_d (RDE_PARAM p, long int s)
{
if (rde_param_i_symbol_restore (p, s)) return 1;
rde_stack_push (p->LS, (void*) p->CL);
rde_stack_push (p->mark, (void*) rde_stack_size (p->ast));
return 0;
}
SCOPE void
- rde_param_i_symbol_done_d_reduce (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_d_reduce (RDE_PARAM p, long int s, long int m)
{
if (p->ST) {
rde_param_i_value_reduce (p, s);
} else {
SV_CLEAR (p);
@@ -1289,11 +1292,11 @@
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
}
}
SCOPE void
- rde_param_i_symbol_done_leaf (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_leaf (RDE_PARAM p, long int s, long int m)
{
if (p->ST) {
rde_param_i_value_leaf (p, s);
} else {
SV_CLEAR (p);
@@ -1305,11 +1308,11 @@
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
}
}
SCOPE void
- rde_param_i_symbol_done_d_leaf (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_d_leaf (RDE_PARAM p, long int s, long int m)
{
if (p->ST) {
rde_param_i_value_leaf (p, s);
} else {
SV_CLEAR (p);
@@ -1322,133 +1325,133 @@
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
}
}
SCOPE void
- rde_param_i_symbol_done_void (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_void (RDE_PARAM p, long int s, long int m)
{
SV_CLEAR (p);
rde_param_i_symbol_save (p, s);
rde_param_i_error_nonterminal (p, m);
rde_stack_pop (p->LS, 1);
}
SCOPE void
- rde_param_i_symbol_done_d_void (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_d_void (RDE_PARAM p, long int s, long int m)
{
SV_CLEAR (p);
rde_param_i_symbol_save (p, s);
rde_param_i_error_nonterminal (p, m);
rde_param_i_ast_pop_rewind (p);
rde_stack_pop (p->LS, 1);
}
SCOPE void
- rde_param_i_next_char (RDE_PARAM p, char* c, int m)
+ rde_param_i_next_char (RDE_PARAM p, const char* c, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_char (p, c, m);
}
SCOPE void
- rde_param_i_next_range (RDE_PARAM p, char* s, char* e, int m)
+ rde_param_i_next_range (RDE_PARAM p, const char* s, const char* e, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_range (p, s, e, m);
}
SCOPE void
- rde_param_i_next_alnum (RDE_PARAM p, int m)
+ rde_param_i_next_alnum (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_alnum (p);
}
SCOPE void
- rde_param_i_next_alpha (RDE_PARAM p, int m)
+ rde_param_i_next_alpha (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_alpha (p);
}
SCOPE void
- rde_param_i_next_ascii (RDE_PARAM p, int m)
+ rde_param_i_next_ascii (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_ascii (p);
}
SCOPE void
- rde_param_i_next_control (RDE_PARAM p, int m)
+ rde_param_i_next_control (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_control (p);
}
SCOPE void
- rde_param_i_next_ddigit (RDE_PARAM p, int m)
+ rde_param_i_next_ddigit (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_ddigit (p);
}
SCOPE void
- rde_param_i_next_digit (RDE_PARAM p, int m)
+ rde_param_i_next_digit (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_digit (p);
}
SCOPE void
- rde_param_i_next_graph (RDE_PARAM p, int m)
+ rde_param_i_next_graph (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_graph (p);
}
SCOPE void
- rde_param_i_next_lower (RDE_PARAM p, int m)
+ rde_param_i_next_lower (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_lower (p);
}
SCOPE void
- rde_param_i_next_print (RDE_PARAM p, int m)
+ rde_param_i_next_print (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_print (p);
}
SCOPE void
- rde_param_i_next_punct (RDE_PARAM p, int m)
+ rde_param_i_next_punct (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_punct (p);
}
SCOPE void
- rde_param_i_next_space (RDE_PARAM p, int m)
+ rde_param_i_next_space (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_space (p);
}
SCOPE void
- rde_param_i_next_upper (RDE_PARAM p, int m)
+ rde_param_i_next_upper (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_upper (p);
}
SCOPE void
- rde_param_i_next_wordchar (RDE_PARAM p, int m)
+ rde_param_i_next_wordchar (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_wordchar (p);
}
SCOPE void
- rde_param_i_next_xdigit (RDE_PARAM p, int m)
+ rde_param_i_next_xdigit (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_xdigit (p);
}
@@ -1525,11 +1528,11 @@
rde_param_i_state_merge_value (RDE_PARAM p)
{
rde_param_i_error_pop_merge (p);
if (!p->ST) {
long int trim = (long int) rde_stack_top (p->mark);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
p->CL = (long int) rde_stack_top (p->LS);
}
rde_stack_pop (p->mark, 1);
rde_stack_pop (p->LS, 1);
}
@@ -1593,11 +1596,11 @@
if (p->ER) { p->ER->refCount ++; }
return 0;
} else {
long int trim = (long int) rde_stack_top (p->mark);
rde_stack_pop (p->mark, 1);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
p->CL = (long int) rde_stack_top (p->LS);
rde_stack_pop (p->LS, 1);
return 1;
}
}
@@ -1636,11 +1639,11 @@
rde_stack_pop (p->mark, 1);
rde_stack_pop (p->LS, 1);
} else {
long int trim = (long int) rde_stack_top (p->mark);
rde_stack_pop (p->mark, 1);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
p->CL = (long int) rde_stack_top (p->LS);
rde_stack_push (p->ES, p->ER);
if (p->ER) { p->ER->refCount ++; }
}
return p->ST;
@@ -1652,19 +1655,19 @@
if (p->ST) {
rde_stack_pop (p->mark, 1);
rde_stack_pop (p->LS, 1);
} else {
long int trim = (long int) rde_stack_top (p->mark);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
p->CL = (long int) rde_stack_top (p->LS);
rde_stack_push (p->ES, p->ER);
if (p->ER) { p->ER->refCount ++; }
}
return p->ST;
}
SCOPE void
- rde_param_i_next_str (RDE_PARAM p, const char* str, int m)
+ rde_param_i_next_str (RDE_PARAM p, const char* str, long int m)
{
int at = p->CL;
while (*str) {
rde_param_i_input_next (p, m);
@@ -1681,11 +1684,11 @@
}
str = Tcl_UtfNext (str);
}
}
SCOPE void
- rde_param_i_next_class (RDE_PARAM p, const char* class, int m)
+ rde_param_i_next_class (RDE_PARAM p, const char* class, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
while (*class) {
p->ST = Tcl_UtfNcmp (p->CC, class, 1) == 0;
@@ -1834,11 +1837,11 @@
Tcl_SetAssocData (interp, KEY, proc,
(ClientData) parserg);
}
parserg->counter ++;
- sprintf (parserg->buf, "PARSER%d", parserg->counter);
+ sprintf (parserg->buf, "PARSER%ld", parserg->counter);
return parserg->buf;
#undef KEY
}
static void
Index: modules/pt/tests/data/ok/peg_cparam-tea/0_basic_arithmetic
==================================================================
--- modules/pt/tests/data/ok/peg_cparam-tea/0_basic_arithmetic
+++ modules/pt/tests/data/ok/peg_cparam-tea/0_basic_arithmetic
@@ -384,18 +384,18 @@
}
SCOPE void
rde_tc_get (RDE_TC tc, int at, char** ch, long int* len)
{
long int oc, off, top, end;
- long int* ov;
- rde_stack_get (tc->off, &oc, (void***) &ov);
+ void** ov;
+ rde_stack_get (tc->off, &oc, &ov);
ASSERT_BOUNDS(at,oc);
- off = ov [at];
+ off = (long int) ov [at];
if ((at+1) == oc) {
end = tc->num;
} else {
- end = ov [at+1];
+ end = (long int) ov [at+1];
}
TRACE (("rde_tc_get (RDE_TC %p, @ %d) => %d.[%d ... %d]/%d",tc,at,end-off,off,end-1,tc->num));
ASSERT_BOUNDS(off,tc->num);
ASSERT_BOUNDS(end-1,tc->num);
*ch = tc->str + off;
@@ -403,19 +403,19 @@
}
SCOPE void
rde_tc_get_s (RDE_TC tc, int at, int last, char** ch, long int* len)
{
long int oc, off, top, end;
- long int* ov;
- rde_stack_get (tc->off, &oc, (void***) &ov);
+ void** ov;
+ rde_stack_get (tc->off, &oc, &ov);
ASSERT_BOUNDS(at,oc);
ASSERT_BOUNDS(last,oc);
- off = ov [at];
+ off = (long int) ov [at];
if ((last+1) == oc) {
end = tc->num;
} else {
- end = ov [last+1];
+ end = (long int) ov [last+1];
}
TRACE (("rde_tc_get_s (RDE_TC %p, @ %d .. %d) => %d.[%d ... %d]/%d",tc,at,last,end-off,off,end-1,tc->num));
ASSERT_BOUNDS(off,tc->num);
ASSERT_BOUNDS(end-1,tc->num);
*ch = tc->str + off;
@@ -464,11 +464,11 @@
tc_wordchar,
tc_xdigit
} test_class_id;
static void ast_node_free (void* n);
static void error_state_free (void* es);
- static void error_set (RDE_PARAM p, int s);
+ static void error_set (RDE_PARAM p, long int s);
static void nc_clear (RDE_PARAM p);
static int UniCharIsAscii (int character);
static int UniCharIsHexDigit (int character);
static int UniCharIsDecDigit (int character);
static void test_class (RDE_PARAM p, UniCharClass class, test_class_id id);
@@ -617,13 +617,13 @@
rde_param_query_clientdata (RDE_PARAM p)
{
return p->clientData;
}
SCOPE void
- rde_param_query_amark (RDE_PARAM p, long int* mc, long int** mv)
+ rde_param_query_amark (RDE_PARAM p, long int* mc, void*** mv)
{
- rde_stack_get (p->mark, mc, (void***) mv);
+ rde_stack_get (p->mark, mc, mv);
}
SCOPE void
rde_param_query_ast (RDE_PARAM p, long int* ac, Tcl_Obj*** av)
{
rde_stack_get (p->ast, ac, (void***) av);
@@ -660,25 +660,25 @@
res = Tcl_NewStringObj ("", 0);
} else {
Tcl_Obj* ov [2];
Tcl_Obj** mov;
long int mc, i, j;
- long int* mv;
+ void** mv;
int lastid;
const char* msg;
- rde_stack_get (er->msg, &mc, (void***) &mv);
+ rde_stack_get (er->msg, &mc, &mv);
- qsort (mv, mc, sizeof (long int), er_int_compare);
+ qsort (mv, mc, sizeof (void*), er_int_compare);
mov = NALLOC (mc, Tcl_Obj*);
lastid = -1;
for (i=0, j=0; i < mc; i++) {
ASSERT_BOUNDS (i,mc);
- if (mv [i] == lastid) continue;
- lastid = mv [i];
- ASSERT_BOUNDS(mv[i],p->numstr);
- msg = p->string [mv[i]];
+ if (((long int) mv [i]) == lastid) continue;
+ lastid = (long int) mv [i];
+ ASSERT_BOUNDS((long int) mv[i],p->numstr);
+ msg = p->string [(long int) mv[i]];
ASSERT_BOUNDS (j,mc);
mov [j] = Tcl_NewStringObj (msg, -1);
j++;
}
@@ -747,11 +747,11 @@
{
long int trim = (long int) rde_stack_top (p->mark);
ENTER ("rde_param_i_ast_pop_rewind");
TRACE (("RDE_PARAM %p",p));
rde_stack_pop (p->mark, 1);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
TRACE (("SV = (%p rc%d '%s')",
p->SV,
p->SV ? p->SV->refCount : -1,
p->SV ? Tcl_GetString (p->SV) : ""));
RETURNVOID;
@@ -760,11 +760,11 @@
rde_param_i_ast_rewind (RDE_PARAM p)
{
long int trim = (long int) rde_stack_top (p->mark);
ENTER ("rde_param_i_ast_rewind");
TRACE (("RDE_PARAM %p",p));
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
TRACE (("SV = (%p rc%d '%s')",
p->SV,
p->SV ? p->SV->refCount : -1,
p->SV ? Tcl_GetString (p->SV) : ""));
RETURNVOID;
@@ -795,11 +795,11 @@
rde_param_i_error_clear (RDE_PARAM p)
{
ER_CLEAR (p);
}
SCOPE void
- rde_param_i_error_nonterminal (RDE_PARAM p, int s)
+ rde_param_i_error_nonterminal (RDE_PARAM p, long int s)
{
return;
long int pos;
if (!p->ER) return;
@@ -851,11 +851,11 @@
{
rde_stack_push (p->ES, p->ER);
if (p->ER) { p->ER->refCount ++; }
}
static void
- error_set (RDE_PARAM p, int s)
+ error_set (RDE_PARAM p, long int s)
{
error_state_free (p->ER);
p->ER = ALLOC (ERROR_STATE);
p->ER->refCount = 1;
p->ER->loc = p->CL;
@@ -893,11 +893,11 @@
rde_param_i_loc_rewind (RDE_PARAM p)
{
p->CL = (long int) rde_stack_top (p->LS);
}
SCOPE void
- rde_param_i_input_next (RDE_PARAM p, int m)
+ rde_param_i_input_next (RDE_PARAM p, long int m)
{
int leni;
char* ch;
ASSERT_BOUNDS(m,p->numstr);
p->CL ++;
@@ -939,11 +939,11 @@
rde_param_i_status_negate (RDE_PARAM p)
{
p->ST = !p->ST;
}
SCOPE int
- rde_param_i_symbol_restore (RDE_PARAM p, int s)
+ rde_param_i_symbol_restore (RDE_PARAM p, long int s)
{
NC_STATE* scs;
Tcl_HashEntry* hPtr;
Tcl_HashTable* tablePtr;
@@ -962,11 +962,11 @@
TRACE (("SV_RESTORE (%p) '%s'",scs->SV, scs->SV ? Tcl_GetString (scs->SV):""));
SV_SET (p, scs->SV);
return 1;
}
SCOPE void
- rde_param_i_symbol_save (RDE_PARAM p, int s)
+ rde_param_i_symbol_save (RDE_PARAM p, long int s)
{
long int at = (long int) rde_stack_top (p->LS);
NC_STATE* scs;
Tcl_HashEntry* hPtr;
Tcl_HashTable* tablePtr;
@@ -1033,11 +1033,11 @@
rde_param_i_test_control (RDE_PARAM p)
{
test_class (p, Tcl_UniCharIsControl, tc_control);
}
SCOPE void
- rde_param_i_test_char (RDE_PARAM p, const char* c, int msg)
+ rde_param_i_test_char (RDE_PARAM p, const char* c, long int msg)
{
ASSERT_BOUNDS(msg,p->numstr);
p->ST = Tcl_UtfNcmp (p->CC, c, 1) == 0;
if (p->ST) {
ER_CLEAR (p);
@@ -1075,11 +1075,11 @@
rde_param_i_test_punct (RDE_PARAM p)
{
test_class (p, Tcl_UniCharIsPunct, tc_punct);
}
SCOPE void
- rde_param_i_test_range (RDE_PARAM p, char* s, char* e, int msg)
+ rde_param_i_test_range (RDE_PARAM p, const char* s, const char* e, long int msg)
{
ASSERT_BOUNDS(msg,p->numstr);
p->ST =
(Tcl_UtfNcmp (s, p->CC, 1) <= 0) &&
(Tcl_UtfNcmp (p->CC, e, 1) <= 0);
@@ -1144,11 +1144,11 @@
rde_param_i_value_clear (RDE_PARAM p)
{
SV_CLEAR (p);
}
SCOPE void
- rde_param_i_value_leaf (RDE_PARAM p, int s)
+ rde_param_i_value_leaf (RDE_PARAM p, long int s)
{
Tcl_Obj* newsv;
Tcl_Obj* ov [3];
long int pos = 1 + (long int) rde_stack_top (p->LS);
ASSERT_BOUNDS(s,p->numstr);
@@ -1158,11 +1158,11 @@
newsv = Tcl_NewListObj (3, ov);
TRACE (("rde_param_i_value_leaf => '%s'",Tcl_GetString (newsv)));
SV_SET (p, newsv);
}
SCOPE void
- rde_param_i_value_reduce (RDE_PARAM p, int s)
+ rde_param_i_value_reduce (RDE_PARAM p, long int s)
{
Tcl_Obj* newsv;
int oc, i, j;
Tcl_Obj** ov;
long int ac;
@@ -1190,18 +1190,21 @@
ckfree ((char*) ov);
}
static int
er_int_compare (const void* a, const void* b)
{
- long int ai = *((long int*) a);
- long int bi = *((long int*) b);
- if (ai < bi) { return -1; }
- if (ai > bi) { return 1; }
+
+ const void** ael = (const void**) a;
+ const void** bel = (const void**) b;
+ long int avalue = (long int) *ael;
+ long int bvalue = (long int) *bel;
+ if (avalue < bvalue) { return -1; }
+ if (avalue > bvalue) { return 1; }
return 0;
}
SCOPE int
- rde_param_i_symbol_start (RDE_PARAM p, int s)
+ rde_param_i_symbol_start (RDE_PARAM p, long int s)
{
if (rde_param_i_symbol_restore (p, s)) {
if (p->ST) {
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
@@ -1210,11 +1213,11 @@
}
rde_stack_push (p->LS, (void*) p->CL);
return 0;
}
SCOPE int
- rde_param_i_symbol_start_d (RDE_PARAM p, int s)
+ rde_param_i_symbol_start_d (RDE_PARAM p, long int s)
{
if (rde_param_i_symbol_restore (p, s)) {
if (p->ST) {
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
@@ -1224,26 +1227,26 @@
rde_stack_push (p->LS, (void*) p->CL);
rde_stack_push (p->mark, (void*) rde_stack_size (p->ast));
return 0;
}
SCOPE int
- rde_param_i_symbol_void_start (RDE_PARAM p, int s)
+ rde_param_i_symbol_void_start (RDE_PARAM p, long int s)
{
if (rde_param_i_symbol_restore (p, s)) return 1;
rde_stack_push (p->LS, (void*) p->CL);
return 0;
}
SCOPE int
- rde_param_i_symbol_void_start_d (RDE_PARAM p, int s)
+ rde_param_i_symbol_void_start_d (RDE_PARAM p, long int s)
{
if (rde_param_i_symbol_restore (p, s)) return 1;
rde_stack_push (p->LS, (void*) p->CL);
rde_stack_push (p->mark, (void*) rde_stack_size (p->ast));
return 0;
}
SCOPE void
- rde_param_i_symbol_done_d_reduce (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_d_reduce (RDE_PARAM p, long int s, long int m)
{
if (p->ST) {
rde_param_i_value_reduce (p, s);
} else {
SV_CLEAR (p);
@@ -1256,11 +1259,11 @@
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
}
}
SCOPE void
- rde_param_i_symbol_done_leaf (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_leaf (RDE_PARAM p, long int s, long int m)
{
if (p->ST) {
rde_param_i_value_leaf (p, s);
} else {
SV_CLEAR (p);
@@ -1272,11 +1275,11 @@
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
}
}
SCOPE void
- rde_param_i_symbol_done_d_leaf (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_d_leaf (RDE_PARAM p, long int s, long int m)
{
if (p->ST) {
rde_param_i_value_leaf (p, s);
} else {
SV_CLEAR (p);
@@ -1289,133 +1292,133 @@
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
}
}
SCOPE void
- rde_param_i_symbol_done_void (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_void (RDE_PARAM p, long int s, long int m)
{
SV_CLEAR (p);
rde_param_i_symbol_save (p, s);
rde_param_i_error_nonterminal (p, m);
rde_stack_pop (p->LS, 1);
}
SCOPE void
- rde_param_i_symbol_done_d_void (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_d_void (RDE_PARAM p, long int s, long int m)
{
SV_CLEAR (p);
rde_param_i_symbol_save (p, s);
rde_param_i_error_nonterminal (p, m);
rde_param_i_ast_pop_rewind (p);
rde_stack_pop (p->LS, 1);
}
SCOPE void
- rde_param_i_next_char (RDE_PARAM p, char* c, int m)
+ rde_param_i_next_char (RDE_PARAM p, const char* c, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_char (p, c, m);
}
SCOPE void
- rde_param_i_next_range (RDE_PARAM p, char* s, char* e, int m)
+ rde_param_i_next_range (RDE_PARAM p, const char* s, const char* e, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_range (p, s, e, m);
}
SCOPE void
- rde_param_i_next_alnum (RDE_PARAM p, int m)
+ rde_param_i_next_alnum (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_alnum (p);
}
SCOPE void
- rde_param_i_next_alpha (RDE_PARAM p, int m)
+ rde_param_i_next_alpha (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_alpha (p);
}
SCOPE void
- rde_param_i_next_ascii (RDE_PARAM p, int m)
+ rde_param_i_next_ascii (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_ascii (p);
}
SCOPE void
- rde_param_i_next_control (RDE_PARAM p, int m)
+ rde_param_i_next_control (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_control (p);
}
SCOPE void
- rde_param_i_next_ddigit (RDE_PARAM p, int m)
+ rde_param_i_next_ddigit (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_ddigit (p);
}
SCOPE void
- rde_param_i_next_digit (RDE_PARAM p, int m)
+ rde_param_i_next_digit (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_digit (p);
}
SCOPE void
- rde_param_i_next_graph (RDE_PARAM p, int m)
+ rde_param_i_next_graph (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_graph (p);
}
SCOPE void
- rde_param_i_next_lower (RDE_PARAM p, int m)
+ rde_param_i_next_lower (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_lower (p);
}
SCOPE void
- rde_param_i_next_print (RDE_PARAM p, int m)
+ rde_param_i_next_print (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_print (p);
}
SCOPE void
- rde_param_i_next_punct (RDE_PARAM p, int m)
+ rde_param_i_next_punct (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_punct (p);
}
SCOPE void
- rde_param_i_next_space (RDE_PARAM p, int m)
+ rde_param_i_next_space (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_space (p);
}
SCOPE void
- rde_param_i_next_upper (RDE_PARAM p, int m)
+ rde_param_i_next_upper (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_upper (p);
}
SCOPE void
- rde_param_i_next_wordchar (RDE_PARAM p, int m)
+ rde_param_i_next_wordchar (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_wordchar (p);
}
SCOPE void
- rde_param_i_next_xdigit (RDE_PARAM p, int m)
+ rde_param_i_next_xdigit (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_xdigit (p);
}
@@ -1492,11 +1495,11 @@
rde_param_i_state_merge_value (RDE_PARAM p)
{
rde_param_i_error_pop_merge (p);
if (!p->ST) {
long int trim = (long int) rde_stack_top (p->mark);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
p->CL = (long int) rde_stack_top (p->LS);
}
rde_stack_pop (p->mark, 1);
rde_stack_pop (p->LS, 1);
}
@@ -1560,11 +1563,11 @@
if (p->ER) { p->ER->refCount ++; }
return 0;
} else {
long int trim = (long int) rde_stack_top (p->mark);
rde_stack_pop (p->mark, 1);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
p->CL = (long int) rde_stack_top (p->LS);
rde_stack_pop (p->LS, 1);
return 1;
}
}
@@ -1603,11 +1606,11 @@
rde_stack_pop (p->mark, 1);
rde_stack_pop (p->LS, 1);
} else {
long int trim = (long int) rde_stack_top (p->mark);
rde_stack_pop (p->mark, 1);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
p->CL = (long int) rde_stack_top (p->LS);
rde_stack_push (p->ES, p->ER);
if (p->ER) { p->ER->refCount ++; }
}
return p->ST;
@@ -1619,19 +1622,19 @@
if (p->ST) {
rde_stack_pop (p->mark, 1);
rde_stack_pop (p->LS, 1);
} else {
long int trim = (long int) rde_stack_top (p->mark);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
p->CL = (long int) rde_stack_top (p->LS);
rde_stack_push (p->ES, p->ER);
if (p->ER) { p->ER->refCount ++; }
}
return p->ST;
}
SCOPE void
- rde_param_i_next_str (RDE_PARAM p, const char* str, int m)
+ rde_param_i_next_str (RDE_PARAM p, const char* str, long int m)
{
int at = p->CL;
while (*str) {
rde_param_i_input_next (p, m);
@@ -1648,11 +1651,11 @@
}
str = Tcl_UtfNext (str);
}
}
SCOPE void
- rde_param_i_next_class (RDE_PARAM p, const char* class, int m)
+ rde_param_i_next_class (RDE_PARAM p, const char* class, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
while (*class) {
p->ST = Tcl_UtfNcmp (p->CC, class, 1) == 0;
@@ -2095,11 +2098,11 @@
Tcl_SetAssocData (interp, KEY, proc,
(ClientData) parserg);
}
parserg->counter ++;
- sprintf (parserg->buf, "PARSER%d", parserg->counter);
+ sprintf (parserg->buf, "PARSER%ld", parserg->counter);
return parserg->buf;
#undef KEY
}
static void
Index: modules/pt/tests/data/ok/peg_cparam-tea/10_notahead
==================================================================
--- modules/pt/tests/data/ok/peg_cparam-tea/10_notahead
+++ modules/pt/tests/data/ok/peg_cparam-tea/10_notahead
@@ -384,18 +384,18 @@
}
SCOPE void
rde_tc_get (RDE_TC tc, int at, char** ch, long int* len)
{
long int oc, off, top, end;
- long int* ov;
- rde_stack_get (tc->off, &oc, (void***) &ov);
+ void** ov;
+ rde_stack_get (tc->off, &oc, &ov);
ASSERT_BOUNDS(at,oc);
- off = ov [at];
+ off = (long int) ov [at];
if ((at+1) == oc) {
end = tc->num;
} else {
- end = ov [at+1];
+ end = (long int) ov [at+1];
}
TRACE (("rde_tc_get (RDE_TC %p, @ %d) => %d.[%d ... %d]/%d",tc,at,end-off,off,end-1,tc->num));
ASSERT_BOUNDS(off,tc->num);
ASSERT_BOUNDS(end-1,tc->num);
*ch = tc->str + off;
@@ -403,19 +403,19 @@
}
SCOPE void
rde_tc_get_s (RDE_TC tc, int at, int last, char** ch, long int* len)
{
long int oc, off, top, end;
- long int* ov;
- rde_stack_get (tc->off, &oc, (void***) &ov);
+ void** ov;
+ rde_stack_get (tc->off, &oc, &ov);
ASSERT_BOUNDS(at,oc);
ASSERT_BOUNDS(last,oc);
- off = ov [at];
+ off = (long int) ov [at];
if ((last+1) == oc) {
end = tc->num;
} else {
- end = ov [last+1];
+ end = (long int) ov [last+1];
}
TRACE (("rde_tc_get_s (RDE_TC %p, @ %d .. %d) => %d.[%d ... %d]/%d",tc,at,last,end-off,off,end-1,tc->num));
ASSERT_BOUNDS(off,tc->num);
ASSERT_BOUNDS(end-1,tc->num);
*ch = tc->str + off;
@@ -464,11 +464,11 @@
tc_wordchar,
tc_xdigit
} test_class_id;
static void ast_node_free (void* n);
static void error_state_free (void* es);
- static void error_set (RDE_PARAM p, int s);
+ static void error_set (RDE_PARAM p, long int s);
static void nc_clear (RDE_PARAM p);
static int UniCharIsAscii (int character);
static int UniCharIsHexDigit (int character);
static int UniCharIsDecDigit (int character);
static void test_class (RDE_PARAM p, UniCharClass class, test_class_id id);
@@ -617,13 +617,13 @@
rde_param_query_clientdata (RDE_PARAM p)
{
return p->clientData;
}
SCOPE void
- rde_param_query_amark (RDE_PARAM p, long int* mc, long int** mv)
+ rde_param_query_amark (RDE_PARAM p, long int* mc, void*** mv)
{
- rde_stack_get (p->mark, mc, (void***) mv);
+ rde_stack_get (p->mark, mc, mv);
}
SCOPE void
rde_param_query_ast (RDE_PARAM p, long int* ac, Tcl_Obj*** av)
{
rde_stack_get (p->ast, ac, (void***) av);
@@ -660,25 +660,25 @@
res = Tcl_NewStringObj ("", 0);
} else {
Tcl_Obj* ov [2];
Tcl_Obj** mov;
long int mc, i, j;
- long int* mv;
+ void** mv;
int lastid;
const char* msg;
- rde_stack_get (er->msg, &mc, (void***) &mv);
+ rde_stack_get (er->msg, &mc, &mv);
- qsort (mv, mc, sizeof (long int), er_int_compare);
+ qsort (mv, mc, sizeof (void*), er_int_compare);
mov = NALLOC (mc, Tcl_Obj*);
lastid = -1;
for (i=0, j=0; i < mc; i++) {
ASSERT_BOUNDS (i,mc);
- if (mv [i] == lastid) continue;
- lastid = mv [i];
- ASSERT_BOUNDS(mv[i],p->numstr);
- msg = p->string [mv[i]];
+ if (((long int) mv [i]) == lastid) continue;
+ lastid = (long int) mv [i];
+ ASSERT_BOUNDS((long int) mv[i],p->numstr);
+ msg = p->string [(long int) mv[i]];
ASSERT_BOUNDS (j,mc);
mov [j] = Tcl_NewStringObj (msg, -1);
j++;
}
@@ -747,11 +747,11 @@
{
long int trim = (long int) rde_stack_top (p->mark);
ENTER ("rde_param_i_ast_pop_rewind");
TRACE (("RDE_PARAM %p",p));
rde_stack_pop (p->mark, 1);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
TRACE (("SV = (%p rc%d '%s')",
p->SV,
p->SV ? p->SV->refCount : -1,
p->SV ? Tcl_GetString (p->SV) : ""));
RETURNVOID;
@@ -760,11 +760,11 @@
rde_param_i_ast_rewind (RDE_PARAM p)
{
long int trim = (long int) rde_stack_top (p->mark);
ENTER ("rde_param_i_ast_rewind");
TRACE (("RDE_PARAM %p",p));
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
TRACE (("SV = (%p rc%d '%s')",
p->SV,
p->SV ? p->SV->refCount : -1,
p->SV ? Tcl_GetString (p->SV) : ""));
RETURNVOID;
@@ -795,11 +795,11 @@
rde_param_i_error_clear (RDE_PARAM p)
{
ER_CLEAR (p);
}
SCOPE void
- rde_param_i_error_nonterminal (RDE_PARAM p, int s)
+ rde_param_i_error_nonterminal (RDE_PARAM p, long int s)
{
return;
long int pos;
if (!p->ER) return;
@@ -851,11 +851,11 @@
{
rde_stack_push (p->ES, p->ER);
if (p->ER) { p->ER->refCount ++; }
}
static void
- error_set (RDE_PARAM p, int s)
+ error_set (RDE_PARAM p, long int s)
{
error_state_free (p->ER);
p->ER = ALLOC (ERROR_STATE);
p->ER->refCount = 1;
p->ER->loc = p->CL;
@@ -893,11 +893,11 @@
rde_param_i_loc_rewind (RDE_PARAM p)
{
p->CL = (long int) rde_stack_top (p->LS);
}
SCOPE void
- rde_param_i_input_next (RDE_PARAM p, int m)
+ rde_param_i_input_next (RDE_PARAM p, long int m)
{
int leni;
char* ch;
ASSERT_BOUNDS(m,p->numstr);
p->CL ++;
@@ -939,11 +939,11 @@
rde_param_i_status_negate (RDE_PARAM p)
{
p->ST = !p->ST;
}
SCOPE int
- rde_param_i_symbol_restore (RDE_PARAM p, int s)
+ rde_param_i_symbol_restore (RDE_PARAM p, long int s)
{
NC_STATE* scs;
Tcl_HashEntry* hPtr;
Tcl_HashTable* tablePtr;
@@ -962,11 +962,11 @@
TRACE (("SV_RESTORE (%p) '%s'",scs->SV, scs->SV ? Tcl_GetString (scs->SV):""));
SV_SET (p, scs->SV);
return 1;
}
SCOPE void
- rde_param_i_symbol_save (RDE_PARAM p, int s)
+ rde_param_i_symbol_save (RDE_PARAM p, long int s)
{
long int at = (long int) rde_stack_top (p->LS);
NC_STATE* scs;
Tcl_HashEntry* hPtr;
Tcl_HashTable* tablePtr;
@@ -1033,11 +1033,11 @@
rde_param_i_test_control (RDE_PARAM p)
{
test_class (p, Tcl_UniCharIsControl, tc_control);
}
SCOPE void
- rde_param_i_test_char (RDE_PARAM p, const char* c, int msg)
+ rde_param_i_test_char (RDE_PARAM p, const char* c, long int msg)
{
ASSERT_BOUNDS(msg,p->numstr);
p->ST = Tcl_UtfNcmp (p->CC, c, 1) == 0;
if (p->ST) {
ER_CLEAR (p);
@@ -1075,11 +1075,11 @@
rde_param_i_test_punct (RDE_PARAM p)
{
test_class (p, Tcl_UniCharIsPunct, tc_punct);
}
SCOPE void
- rde_param_i_test_range (RDE_PARAM p, char* s, char* e, int msg)
+ rde_param_i_test_range (RDE_PARAM p, const char* s, const char* e, long int msg)
{
ASSERT_BOUNDS(msg,p->numstr);
p->ST =
(Tcl_UtfNcmp (s, p->CC, 1) <= 0) &&
(Tcl_UtfNcmp (p->CC, e, 1) <= 0);
@@ -1144,11 +1144,11 @@
rde_param_i_value_clear (RDE_PARAM p)
{
SV_CLEAR (p);
}
SCOPE void
- rde_param_i_value_leaf (RDE_PARAM p, int s)
+ rde_param_i_value_leaf (RDE_PARAM p, long int s)
{
Tcl_Obj* newsv;
Tcl_Obj* ov [3];
long int pos = 1 + (long int) rde_stack_top (p->LS);
ASSERT_BOUNDS(s,p->numstr);
@@ -1158,11 +1158,11 @@
newsv = Tcl_NewListObj (3, ov);
TRACE (("rde_param_i_value_leaf => '%s'",Tcl_GetString (newsv)));
SV_SET (p, newsv);
}
SCOPE void
- rde_param_i_value_reduce (RDE_PARAM p, int s)
+ rde_param_i_value_reduce (RDE_PARAM p, long int s)
{
Tcl_Obj* newsv;
int oc, i, j;
Tcl_Obj** ov;
long int ac;
@@ -1190,18 +1190,21 @@
ckfree ((char*) ov);
}
static int
er_int_compare (const void* a, const void* b)
{
- long int ai = *((long int*) a);
- long int bi = *((long int*) b);
- if (ai < bi) { return -1; }
- if (ai > bi) { return 1; }
+
+ const void** ael = (const void**) a;
+ const void** bel = (const void**) b;
+ long int avalue = (long int) *ael;
+ long int bvalue = (long int) *bel;
+ if (avalue < bvalue) { return -1; }
+ if (avalue > bvalue) { return 1; }
return 0;
}
SCOPE int
- rde_param_i_symbol_start (RDE_PARAM p, int s)
+ rde_param_i_symbol_start (RDE_PARAM p, long int s)
{
if (rde_param_i_symbol_restore (p, s)) {
if (p->ST) {
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
@@ -1210,11 +1213,11 @@
}
rde_stack_push (p->LS, (void*) p->CL);
return 0;
}
SCOPE int
- rde_param_i_symbol_start_d (RDE_PARAM p, int s)
+ rde_param_i_symbol_start_d (RDE_PARAM p, long int s)
{
if (rde_param_i_symbol_restore (p, s)) {
if (p->ST) {
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
@@ -1224,26 +1227,26 @@
rde_stack_push (p->LS, (void*) p->CL);
rde_stack_push (p->mark, (void*) rde_stack_size (p->ast));
return 0;
}
SCOPE int
- rde_param_i_symbol_void_start (RDE_PARAM p, int s)
+ rde_param_i_symbol_void_start (RDE_PARAM p, long int s)
{
if (rde_param_i_symbol_restore (p, s)) return 1;
rde_stack_push (p->LS, (void*) p->CL);
return 0;
}
SCOPE int
- rde_param_i_symbol_void_start_d (RDE_PARAM p, int s)
+ rde_param_i_symbol_void_start_d (RDE_PARAM p, long int s)
{
if (rde_param_i_symbol_restore (p, s)) return 1;
rde_stack_push (p->LS, (void*) p->CL);
rde_stack_push (p->mark, (void*) rde_stack_size (p->ast));
return 0;
}
SCOPE void
- rde_param_i_symbol_done_d_reduce (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_d_reduce (RDE_PARAM p, long int s, long int m)
{
if (p->ST) {
rde_param_i_value_reduce (p, s);
} else {
SV_CLEAR (p);
@@ -1256,11 +1259,11 @@
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
}
}
SCOPE void
- rde_param_i_symbol_done_leaf (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_leaf (RDE_PARAM p, long int s, long int m)
{
if (p->ST) {
rde_param_i_value_leaf (p, s);
} else {
SV_CLEAR (p);
@@ -1272,11 +1275,11 @@
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
}
}
SCOPE void
- rde_param_i_symbol_done_d_leaf (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_d_leaf (RDE_PARAM p, long int s, long int m)
{
if (p->ST) {
rde_param_i_value_leaf (p, s);
} else {
SV_CLEAR (p);
@@ -1289,133 +1292,133 @@
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
}
}
SCOPE void
- rde_param_i_symbol_done_void (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_void (RDE_PARAM p, long int s, long int m)
{
SV_CLEAR (p);
rde_param_i_symbol_save (p, s);
rde_param_i_error_nonterminal (p, m);
rde_stack_pop (p->LS, 1);
}
SCOPE void
- rde_param_i_symbol_done_d_void (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_d_void (RDE_PARAM p, long int s, long int m)
{
SV_CLEAR (p);
rde_param_i_symbol_save (p, s);
rde_param_i_error_nonterminal (p, m);
rde_param_i_ast_pop_rewind (p);
rde_stack_pop (p->LS, 1);
}
SCOPE void
- rde_param_i_next_char (RDE_PARAM p, char* c, int m)
+ rde_param_i_next_char (RDE_PARAM p, const char* c, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_char (p, c, m);
}
SCOPE void
- rde_param_i_next_range (RDE_PARAM p, char* s, char* e, int m)
+ rde_param_i_next_range (RDE_PARAM p, const char* s, const char* e, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_range (p, s, e, m);
}
SCOPE void
- rde_param_i_next_alnum (RDE_PARAM p, int m)
+ rde_param_i_next_alnum (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_alnum (p);
}
SCOPE void
- rde_param_i_next_alpha (RDE_PARAM p, int m)
+ rde_param_i_next_alpha (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_alpha (p);
}
SCOPE void
- rde_param_i_next_ascii (RDE_PARAM p, int m)
+ rde_param_i_next_ascii (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_ascii (p);
}
SCOPE void
- rde_param_i_next_control (RDE_PARAM p, int m)
+ rde_param_i_next_control (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_control (p);
}
SCOPE void
- rde_param_i_next_ddigit (RDE_PARAM p, int m)
+ rde_param_i_next_ddigit (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_ddigit (p);
}
SCOPE void
- rde_param_i_next_digit (RDE_PARAM p, int m)
+ rde_param_i_next_digit (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_digit (p);
}
SCOPE void
- rde_param_i_next_graph (RDE_PARAM p, int m)
+ rde_param_i_next_graph (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_graph (p);
}
SCOPE void
- rde_param_i_next_lower (RDE_PARAM p, int m)
+ rde_param_i_next_lower (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_lower (p);
}
SCOPE void
- rde_param_i_next_print (RDE_PARAM p, int m)
+ rde_param_i_next_print (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_print (p);
}
SCOPE void
- rde_param_i_next_punct (RDE_PARAM p, int m)
+ rde_param_i_next_punct (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_punct (p);
}
SCOPE void
- rde_param_i_next_space (RDE_PARAM p, int m)
+ rde_param_i_next_space (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_space (p);
}
SCOPE void
- rde_param_i_next_upper (RDE_PARAM p, int m)
+ rde_param_i_next_upper (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_upper (p);
}
SCOPE void
- rde_param_i_next_wordchar (RDE_PARAM p, int m)
+ rde_param_i_next_wordchar (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_wordchar (p);
}
SCOPE void
- rde_param_i_next_xdigit (RDE_PARAM p, int m)
+ rde_param_i_next_xdigit (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_xdigit (p);
}
@@ -1492,11 +1495,11 @@
rde_param_i_state_merge_value (RDE_PARAM p)
{
rde_param_i_error_pop_merge (p);
if (!p->ST) {
long int trim = (long int) rde_stack_top (p->mark);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
p->CL = (long int) rde_stack_top (p->LS);
}
rde_stack_pop (p->mark, 1);
rde_stack_pop (p->LS, 1);
}
@@ -1560,11 +1563,11 @@
if (p->ER) { p->ER->refCount ++; }
return 0;
} else {
long int trim = (long int) rde_stack_top (p->mark);
rde_stack_pop (p->mark, 1);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
p->CL = (long int) rde_stack_top (p->LS);
rde_stack_pop (p->LS, 1);
return 1;
}
}
@@ -1603,11 +1606,11 @@
rde_stack_pop (p->mark, 1);
rde_stack_pop (p->LS, 1);
} else {
long int trim = (long int) rde_stack_top (p->mark);
rde_stack_pop (p->mark, 1);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
p->CL = (long int) rde_stack_top (p->LS);
rde_stack_push (p->ES, p->ER);
if (p->ER) { p->ER->refCount ++; }
}
return p->ST;
@@ -1619,19 +1622,19 @@
if (p->ST) {
rde_stack_pop (p->mark, 1);
rde_stack_pop (p->LS, 1);
} else {
long int trim = (long int) rde_stack_top (p->mark);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
p->CL = (long int) rde_stack_top (p->LS);
rde_stack_push (p->ES, p->ER);
if (p->ER) { p->ER->refCount ++; }
}
return p->ST;
}
SCOPE void
- rde_param_i_next_str (RDE_PARAM p, const char* str, int m)
+ rde_param_i_next_str (RDE_PARAM p, const char* str, long int m)
{
int at = p->CL;
while (*str) {
rde_param_i_input_next (p, m);
@@ -1648,11 +1651,11 @@
}
str = Tcl_UtfNext (str);
}
}
SCOPE void
- rde_param_i_next_class (RDE_PARAM p, const char* class, int m)
+ rde_param_i_next_class (RDE_PARAM p, const char* class, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
while (*class) {
p->ST = Tcl_UtfNcmp (p->CC, class, 1) == 0;
@@ -1784,11 +1787,11 @@
Tcl_SetAssocData (interp, KEY, proc,
(ClientData) parserg);
}
parserg->counter ++;
- sprintf (parserg->buf, "PARSER%d", parserg->counter);
+ sprintf (parserg->buf, "PARSER%ld", parserg->counter);
return parserg->buf;
#undef KEY
}
static void
Index: modules/pt/tests/data/ok/peg_cparam-tea/11_epsilon
==================================================================
--- modules/pt/tests/data/ok/peg_cparam-tea/11_epsilon
+++ modules/pt/tests/data/ok/peg_cparam-tea/11_epsilon
@@ -384,18 +384,18 @@
}
SCOPE void
rde_tc_get (RDE_TC tc, int at, char** ch, long int* len)
{
long int oc, off, top, end;
- long int* ov;
- rde_stack_get (tc->off, &oc, (void***) &ov);
+ void** ov;
+ rde_stack_get (tc->off, &oc, &ov);
ASSERT_BOUNDS(at,oc);
- off = ov [at];
+ off = (long int) ov [at];
if ((at+1) == oc) {
end = tc->num;
} else {
- end = ov [at+1];
+ end = (long int) ov [at+1];
}
TRACE (("rde_tc_get (RDE_TC %p, @ %d) => %d.[%d ... %d]/%d",tc,at,end-off,off,end-1,tc->num));
ASSERT_BOUNDS(off,tc->num);
ASSERT_BOUNDS(end-1,tc->num);
*ch = tc->str + off;
@@ -403,19 +403,19 @@
}
SCOPE void
rde_tc_get_s (RDE_TC tc, int at, int last, char** ch, long int* len)
{
long int oc, off, top, end;
- long int* ov;
- rde_stack_get (tc->off, &oc, (void***) &ov);
+ void** ov;
+ rde_stack_get (tc->off, &oc, &ov);
ASSERT_BOUNDS(at,oc);
ASSERT_BOUNDS(last,oc);
- off = ov [at];
+ off = (long int) ov [at];
if ((last+1) == oc) {
end = tc->num;
} else {
- end = ov [last+1];
+ end = (long int) ov [last+1];
}
TRACE (("rde_tc_get_s (RDE_TC %p, @ %d .. %d) => %d.[%d ... %d]/%d",tc,at,last,end-off,off,end-1,tc->num));
ASSERT_BOUNDS(off,tc->num);
ASSERT_BOUNDS(end-1,tc->num);
*ch = tc->str + off;
@@ -464,11 +464,11 @@
tc_wordchar,
tc_xdigit
} test_class_id;
static void ast_node_free (void* n);
static void error_state_free (void* es);
- static void error_set (RDE_PARAM p, int s);
+ static void error_set (RDE_PARAM p, long int s);
static void nc_clear (RDE_PARAM p);
static int UniCharIsAscii (int character);
static int UniCharIsHexDigit (int character);
static int UniCharIsDecDigit (int character);
static void test_class (RDE_PARAM p, UniCharClass class, test_class_id id);
@@ -617,13 +617,13 @@
rde_param_query_clientdata (RDE_PARAM p)
{
return p->clientData;
}
SCOPE void
- rde_param_query_amark (RDE_PARAM p, long int* mc, long int** mv)
+ rde_param_query_amark (RDE_PARAM p, long int* mc, void*** mv)
{
- rde_stack_get (p->mark, mc, (void***) mv);
+ rde_stack_get (p->mark, mc, mv);
}
SCOPE void
rde_param_query_ast (RDE_PARAM p, long int* ac, Tcl_Obj*** av)
{
rde_stack_get (p->ast, ac, (void***) av);
@@ -660,25 +660,25 @@
res = Tcl_NewStringObj ("", 0);
} else {
Tcl_Obj* ov [2];
Tcl_Obj** mov;
long int mc, i, j;
- long int* mv;
+ void** mv;
int lastid;
const char* msg;
- rde_stack_get (er->msg, &mc, (void***) &mv);
+ rde_stack_get (er->msg, &mc, &mv);
- qsort (mv, mc, sizeof (long int), er_int_compare);
+ qsort (mv, mc, sizeof (void*), er_int_compare);
mov = NALLOC (mc, Tcl_Obj*);
lastid = -1;
for (i=0, j=0; i < mc; i++) {
ASSERT_BOUNDS (i,mc);
- if (mv [i] == lastid) continue;
- lastid = mv [i];
- ASSERT_BOUNDS(mv[i],p->numstr);
- msg = p->string [mv[i]];
+ if (((long int) mv [i]) == lastid) continue;
+ lastid = (long int) mv [i];
+ ASSERT_BOUNDS((long int) mv[i],p->numstr);
+ msg = p->string [(long int) mv[i]];
ASSERT_BOUNDS (j,mc);
mov [j] = Tcl_NewStringObj (msg, -1);
j++;
}
@@ -747,11 +747,11 @@
{
long int trim = (long int) rde_stack_top (p->mark);
ENTER ("rde_param_i_ast_pop_rewind");
TRACE (("RDE_PARAM %p",p));
rde_stack_pop (p->mark, 1);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
TRACE (("SV = (%p rc%d '%s')",
p->SV,
p->SV ? p->SV->refCount : -1,
p->SV ? Tcl_GetString (p->SV) : ""));
RETURNVOID;
@@ -760,11 +760,11 @@
rde_param_i_ast_rewind (RDE_PARAM p)
{
long int trim = (long int) rde_stack_top (p->mark);
ENTER ("rde_param_i_ast_rewind");
TRACE (("RDE_PARAM %p",p));
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
TRACE (("SV = (%p rc%d '%s')",
p->SV,
p->SV ? p->SV->refCount : -1,
p->SV ? Tcl_GetString (p->SV) : ""));
RETURNVOID;
@@ -795,11 +795,11 @@
rde_param_i_error_clear (RDE_PARAM p)
{
ER_CLEAR (p);
}
SCOPE void
- rde_param_i_error_nonterminal (RDE_PARAM p, int s)
+ rde_param_i_error_nonterminal (RDE_PARAM p, long int s)
{
return;
long int pos;
if (!p->ER) return;
@@ -851,11 +851,11 @@
{
rde_stack_push (p->ES, p->ER);
if (p->ER) { p->ER->refCount ++; }
}
static void
- error_set (RDE_PARAM p, int s)
+ error_set (RDE_PARAM p, long int s)
{
error_state_free (p->ER);
p->ER = ALLOC (ERROR_STATE);
p->ER->refCount = 1;
p->ER->loc = p->CL;
@@ -893,11 +893,11 @@
rde_param_i_loc_rewind (RDE_PARAM p)
{
p->CL = (long int) rde_stack_top (p->LS);
}
SCOPE void
- rde_param_i_input_next (RDE_PARAM p, int m)
+ rde_param_i_input_next (RDE_PARAM p, long int m)
{
int leni;
char* ch;
ASSERT_BOUNDS(m,p->numstr);
p->CL ++;
@@ -939,11 +939,11 @@
rde_param_i_status_negate (RDE_PARAM p)
{
p->ST = !p->ST;
}
SCOPE int
- rde_param_i_symbol_restore (RDE_PARAM p, int s)
+ rde_param_i_symbol_restore (RDE_PARAM p, long int s)
{
NC_STATE* scs;
Tcl_HashEntry* hPtr;
Tcl_HashTable* tablePtr;
@@ -962,11 +962,11 @@
TRACE (("SV_RESTORE (%p) '%s'",scs->SV, scs->SV ? Tcl_GetString (scs->SV):""));
SV_SET (p, scs->SV);
return 1;
}
SCOPE void
- rde_param_i_symbol_save (RDE_PARAM p, int s)
+ rde_param_i_symbol_save (RDE_PARAM p, long int s)
{
long int at = (long int) rde_stack_top (p->LS);
NC_STATE* scs;
Tcl_HashEntry* hPtr;
Tcl_HashTable* tablePtr;
@@ -1033,11 +1033,11 @@
rde_param_i_test_control (RDE_PARAM p)
{
test_class (p, Tcl_UniCharIsControl, tc_control);
}
SCOPE void
- rde_param_i_test_char (RDE_PARAM p, const char* c, int msg)
+ rde_param_i_test_char (RDE_PARAM p, const char* c, long int msg)
{
ASSERT_BOUNDS(msg,p->numstr);
p->ST = Tcl_UtfNcmp (p->CC, c, 1) == 0;
if (p->ST) {
ER_CLEAR (p);
@@ -1075,11 +1075,11 @@
rde_param_i_test_punct (RDE_PARAM p)
{
test_class (p, Tcl_UniCharIsPunct, tc_punct);
}
SCOPE void
- rde_param_i_test_range (RDE_PARAM p, char* s, char* e, int msg)
+ rde_param_i_test_range (RDE_PARAM p, const char* s, const char* e, long int msg)
{
ASSERT_BOUNDS(msg,p->numstr);
p->ST =
(Tcl_UtfNcmp (s, p->CC, 1) <= 0) &&
(Tcl_UtfNcmp (p->CC, e, 1) <= 0);
@@ -1144,11 +1144,11 @@
rde_param_i_value_clear (RDE_PARAM p)
{
SV_CLEAR (p);
}
SCOPE void
- rde_param_i_value_leaf (RDE_PARAM p, int s)
+ rde_param_i_value_leaf (RDE_PARAM p, long int s)
{
Tcl_Obj* newsv;
Tcl_Obj* ov [3];
long int pos = 1 + (long int) rde_stack_top (p->LS);
ASSERT_BOUNDS(s,p->numstr);
@@ -1158,11 +1158,11 @@
newsv = Tcl_NewListObj (3, ov);
TRACE (("rde_param_i_value_leaf => '%s'",Tcl_GetString (newsv)));
SV_SET (p, newsv);
}
SCOPE void
- rde_param_i_value_reduce (RDE_PARAM p, int s)
+ rde_param_i_value_reduce (RDE_PARAM p, long int s)
{
Tcl_Obj* newsv;
int oc, i, j;
Tcl_Obj** ov;
long int ac;
@@ -1190,18 +1190,21 @@
ckfree ((char*) ov);
}
static int
er_int_compare (const void* a, const void* b)
{
- long int ai = *((long int*) a);
- long int bi = *((long int*) b);
- if (ai < bi) { return -1; }
- if (ai > bi) { return 1; }
+
+ const void** ael = (const void**) a;
+ const void** bel = (const void**) b;
+ long int avalue = (long int) *ael;
+ long int bvalue = (long int) *bel;
+ if (avalue < bvalue) { return -1; }
+ if (avalue > bvalue) { return 1; }
return 0;
}
SCOPE int
- rde_param_i_symbol_start (RDE_PARAM p, int s)
+ rde_param_i_symbol_start (RDE_PARAM p, long int s)
{
if (rde_param_i_symbol_restore (p, s)) {
if (p->ST) {
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
@@ -1210,11 +1213,11 @@
}
rde_stack_push (p->LS, (void*) p->CL);
return 0;
}
SCOPE int
- rde_param_i_symbol_start_d (RDE_PARAM p, int s)
+ rde_param_i_symbol_start_d (RDE_PARAM p, long int s)
{
if (rde_param_i_symbol_restore (p, s)) {
if (p->ST) {
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
@@ -1224,26 +1227,26 @@
rde_stack_push (p->LS, (void*) p->CL);
rde_stack_push (p->mark, (void*) rde_stack_size (p->ast));
return 0;
}
SCOPE int
- rde_param_i_symbol_void_start (RDE_PARAM p, int s)
+ rde_param_i_symbol_void_start (RDE_PARAM p, long int s)
{
if (rde_param_i_symbol_restore (p, s)) return 1;
rde_stack_push (p->LS, (void*) p->CL);
return 0;
}
SCOPE int
- rde_param_i_symbol_void_start_d (RDE_PARAM p, int s)
+ rde_param_i_symbol_void_start_d (RDE_PARAM p, long int s)
{
if (rde_param_i_symbol_restore (p, s)) return 1;
rde_stack_push (p->LS, (void*) p->CL);
rde_stack_push (p->mark, (void*) rde_stack_size (p->ast));
return 0;
}
SCOPE void
- rde_param_i_symbol_done_d_reduce (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_d_reduce (RDE_PARAM p, long int s, long int m)
{
if (p->ST) {
rde_param_i_value_reduce (p, s);
} else {
SV_CLEAR (p);
@@ -1256,11 +1259,11 @@
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
}
}
SCOPE void
- rde_param_i_symbol_done_leaf (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_leaf (RDE_PARAM p, long int s, long int m)
{
if (p->ST) {
rde_param_i_value_leaf (p, s);
} else {
SV_CLEAR (p);
@@ -1272,11 +1275,11 @@
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
}
}
SCOPE void
- rde_param_i_symbol_done_d_leaf (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_d_leaf (RDE_PARAM p, long int s, long int m)
{
if (p->ST) {
rde_param_i_value_leaf (p, s);
} else {
SV_CLEAR (p);
@@ -1289,133 +1292,133 @@
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
}
}
SCOPE void
- rde_param_i_symbol_done_void (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_void (RDE_PARAM p, long int s, long int m)
{
SV_CLEAR (p);
rde_param_i_symbol_save (p, s);
rde_param_i_error_nonterminal (p, m);
rde_stack_pop (p->LS, 1);
}
SCOPE void
- rde_param_i_symbol_done_d_void (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_d_void (RDE_PARAM p, long int s, long int m)
{
SV_CLEAR (p);
rde_param_i_symbol_save (p, s);
rde_param_i_error_nonterminal (p, m);
rde_param_i_ast_pop_rewind (p);
rde_stack_pop (p->LS, 1);
}
SCOPE void
- rde_param_i_next_char (RDE_PARAM p, char* c, int m)
+ rde_param_i_next_char (RDE_PARAM p, const char* c, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_char (p, c, m);
}
SCOPE void
- rde_param_i_next_range (RDE_PARAM p, char* s, char* e, int m)
+ rde_param_i_next_range (RDE_PARAM p, const char* s, const char* e, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_range (p, s, e, m);
}
SCOPE void
- rde_param_i_next_alnum (RDE_PARAM p, int m)
+ rde_param_i_next_alnum (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_alnum (p);
}
SCOPE void
- rde_param_i_next_alpha (RDE_PARAM p, int m)
+ rde_param_i_next_alpha (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_alpha (p);
}
SCOPE void
- rde_param_i_next_ascii (RDE_PARAM p, int m)
+ rde_param_i_next_ascii (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_ascii (p);
}
SCOPE void
- rde_param_i_next_control (RDE_PARAM p, int m)
+ rde_param_i_next_control (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_control (p);
}
SCOPE void
- rde_param_i_next_ddigit (RDE_PARAM p, int m)
+ rde_param_i_next_ddigit (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_ddigit (p);
}
SCOPE void
- rde_param_i_next_digit (RDE_PARAM p, int m)
+ rde_param_i_next_digit (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_digit (p);
}
SCOPE void
- rde_param_i_next_graph (RDE_PARAM p, int m)
+ rde_param_i_next_graph (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_graph (p);
}
SCOPE void
- rde_param_i_next_lower (RDE_PARAM p, int m)
+ rde_param_i_next_lower (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_lower (p);
}
SCOPE void
- rde_param_i_next_print (RDE_PARAM p, int m)
+ rde_param_i_next_print (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_print (p);
}
SCOPE void
- rde_param_i_next_punct (RDE_PARAM p, int m)
+ rde_param_i_next_punct (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_punct (p);
}
SCOPE void
- rde_param_i_next_space (RDE_PARAM p, int m)
+ rde_param_i_next_space (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_space (p);
}
SCOPE void
- rde_param_i_next_upper (RDE_PARAM p, int m)
+ rde_param_i_next_upper (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_upper (p);
}
SCOPE void
- rde_param_i_next_wordchar (RDE_PARAM p, int m)
+ rde_param_i_next_wordchar (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_wordchar (p);
}
SCOPE void
- rde_param_i_next_xdigit (RDE_PARAM p, int m)
+ rde_param_i_next_xdigit (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_xdigit (p);
}
@@ -1492,11 +1495,11 @@
rde_param_i_state_merge_value (RDE_PARAM p)
{
rde_param_i_error_pop_merge (p);
if (!p->ST) {
long int trim = (long int) rde_stack_top (p->mark);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
p->CL = (long int) rde_stack_top (p->LS);
}
rde_stack_pop (p->mark, 1);
rde_stack_pop (p->LS, 1);
}
@@ -1560,11 +1563,11 @@
if (p->ER) { p->ER->refCount ++; }
return 0;
} else {
long int trim = (long int) rde_stack_top (p->mark);
rde_stack_pop (p->mark, 1);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
p->CL = (long int) rde_stack_top (p->LS);
rde_stack_pop (p->LS, 1);
return 1;
}
}
@@ -1603,11 +1606,11 @@
rde_stack_pop (p->mark, 1);
rde_stack_pop (p->LS, 1);
} else {
long int trim = (long int) rde_stack_top (p->mark);
rde_stack_pop (p->mark, 1);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
p->CL = (long int) rde_stack_top (p->LS);
rde_stack_push (p->ES, p->ER);
if (p->ER) { p->ER->refCount ++; }
}
return p->ST;
@@ -1619,19 +1622,19 @@
if (p->ST) {
rde_stack_pop (p->mark, 1);
rde_stack_pop (p->LS, 1);
} else {
long int trim = (long int) rde_stack_top (p->mark);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
p->CL = (long int) rde_stack_top (p->LS);
rde_stack_push (p->ES, p->ER);
if (p->ER) { p->ER->refCount ++; }
}
return p->ST;
}
SCOPE void
- rde_param_i_next_str (RDE_PARAM p, const char* str, int m)
+ rde_param_i_next_str (RDE_PARAM p, const char* str, long int m)
{
int at = p->CL;
while (*str) {
rde_param_i_input_next (p, m);
@@ -1648,11 +1651,11 @@
}
str = Tcl_UtfNext (str);
}
}
SCOPE void
- rde_param_i_next_class (RDE_PARAM p, const char* class, int m)
+ rde_param_i_next_class (RDE_PARAM p, const char* class, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
while (*class) {
p->ST = Tcl_UtfNcmp (p->CC, class, 1) == 0;
@@ -1748,11 +1751,11 @@
Tcl_SetAssocData (interp, KEY, proc,
(ClientData) parserg);
}
parserg->counter ++;
- sprintf (parserg->buf, "PARSER%d", parserg->counter);
+ sprintf (parserg->buf, "PARSER%ld", parserg->counter);
return parserg->buf;
#undef KEY
}
static void
Index: modules/pt/tests/data/ok/peg_cparam-tea/1_functions
==================================================================
--- modules/pt/tests/data/ok/peg_cparam-tea/1_functions
+++ modules/pt/tests/data/ok/peg_cparam-tea/1_functions
@@ -384,18 +384,18 @@
}
SCOPE void
rde_tc_get (RDE_TC tc, int at, char** ch, long int* len)
{
long int oc, off, top, end;
- long int* ov;
- rde_stack_get (tc->off, &oc, (void***) &ov);
+ void** ov;
+ rde_stack_get (tc->off, &oc, &ov);
ASSERT_BOUNDS(at,oc);
- off = ov [at];
+ off = (long int) ov [at];
if ((at+1) == oc) {
end = tc->num;
} else {
- end = ov [at+1];
+ end = (long int) ov [at+1];
}
TRACE (("rde_tc_get (RDE_TC %p, @ %d) => %d.[%d ... %d]/%d",tc,at,end-off,off,end-1,tc->num));
ASSERT_BOUNDS(off,tc->num);
ASSERT_BOUNDS(end-1,tc->num);
*ch = tc->str + off;
@@ -403,19 +403,19 @@
}
SCOPE void
rde_tc_get_s (RDE_TC tc, int at, int last, char** ch, long int* len)
{
long int oc, off, top, end;
- long int* ov;
- rde_stack_get (tc->off, &oc, (void***) &ov);
+ void** ov;
+ rde_stack_get (tc->off, &oc, &ov);
ASSERT_BOUNDS(at,oc);
ASSERT_BOUNDS(last,oc);
- off = ov [at];
+ off = (long int) ov [at];
if ((last+1) == oc) {
end = tc->num;
} else {
- end = ov [last+1];
+ end = (long int) ov [last+1];
}
TRACE (("rde_tc_get_s (RDE_TC %p, @ %d .. %d) => %d.[%d ... %d]/%d",tc,at,last,end-off,off,end-1,tc->num));
ASSERT_BOUNDS(off,tc->num);
ASSERT_BOUNDS(end-1,tc->num);
*ch = tc->str + off;
@@ -464,11 +464,11 @@
tc_wordchar,
tc_xdigit
} test_class_id;
static void ast_node_free (void* n);
static void error_state_free (void* es);
- static void error_set (RDE_PARAM p, int s);
+ static void error_set (RDE_PARAM p, long int s);
static void nc_clear (RDE_PARAM p);
static int UniCharIsAscii (int character);
static int UniCharIsHexDigit (int character);
static int UniCharIsDecDigit (int character);
static void test_class (RDE_PARAM p, UniCharClass class, test_class_id id);
@@ -617,13 +617,13 @@
rde_param_query_clientdata (RDE_PARAM p)
{
return p->clientData;
}
SCOPE void
- rde_param_query_amark (RDE_PARAM p, long int* mc, long int** mv)
+ rde_param_query_amark (RDE_PARAM p, long int* mc, void*** mv)
{
- rde_stack_get (p->mark, mc, (void***) mv);
+ rde_stack_get (p->mark, mc, mv);
}
SCOPE void
rde_param_query_ast (RDE_PARAM p, long int* ac, Tcl_Obj*** av)
{
rde_stack_get (p->ast, ac, (void***) av);
@@ -660,25 +660,25 @@
res = Tcl_NewStringObj ("", 0);
} else {
Tcl_Obj* ov [2];
Tcl_Obj** mov;
long int mc, i, j;
- long int* mv;
+ void** mv;
int lastid;
const char* msg;
- rde_stack_get (er->msg, &mc, (void***) &mv);
+ rde_stack_get (er->msg, &mc, &mv);
- qsort (mv, mc, sizeof (long int), er_int_compare);
+ qsort (mv, mc, sizeof (void*), er_int_compare);
mov = NALLOC (mc, Tcl_Obj*);
lastid = -1;
for (i=0, j=0; i < mc; i++) {
ASSERT_BOUNDS (i,mc);
- if (mv [i] == lastid) continue;
- lastid = mv [i];
- ASSERT_BOUNDS(mv[i],p->numstr);
- msg = p->string [mv[i]];
+ if (((long int) mv [i]) == lastid) continue;
+ lastid = (long int) mv [i];
+ ASSERT_BOUNDS((long int) mv[i],p->numstr);
+ msg = p->string [(long int) mv[i]];
ASSERT_BOUNDS (j,mc);
mov [j] = Tcl_NewStringObj (msg, -1);
j++;
}
@@ -747,11 +747,11 @@
{
long int trim = (long int) rde_stack_top (p->mark);
ENTER ("rde_param_i_ast_pop_rewind");
TRACE (("RDE_PARAM %p",p));
rde_stack_pop (p->mark, 1);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
TRACE (("SV = (%p rc%d '%s')",
p->SV,
p->SV ? p->SV->refCount : -1,
p->SV ? Tcl_GetString (p->SV) : ""));
RETURNVOID;
@@ -760,11 +760,11 @@
rde_param_i_ast_rewind (RDE_PARAM p)
{
long int trim = (long int) rde_stack_top (p->mark);
ENTER ("rde_param_i_ast_rewind");
TRACE (("RDE_PARAM %p",p));
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
TRACE (("SV = (%p rc%d '%s')",
p->SV,
p->SV ? p->SV->refCount : -1,
p->SV ? Tcl_GetString (p->SV) : ""));
RETURNVOID;
@@ -795,11 +795,11 @@
rde_param_i_error_clear (RDE_PARAM p)
{
ER_CLEAR (p);
}
SCOPE void
- rde_param_i_error_nonterminal (RDE_PARAM p, int s)
+ rde_param_i_error_nonterminal (RDE_PARAM p, long int s)
{
return;
long int pos;
if (!p->ER) return;
@@ -851,11 +851,11 @@
{
rde_stack_push (p->ES, p->ER);
if (p->ER) { p->ER->refCount ++; }
}
static void
- error_set (RDE_PARAM p, int s)
+ error_set (RDE_PARAM p, long int s)
{
error_state_free (p->ER);
p->ER = ALLOC (ERROR_STATE);
p->ER->refCount = 1;
p->ER->loc = p->CL;
@@ -893,11 +893,11 @@
rde_param_i_loc_rewind (RDE_PARAM p)
{
p->CL = (long int) rde_stack_top (p->LS);
}
SCOPE void
- rde_param_i_input_next (RDE_PARAM p, int m)
+ rde_param_i_input_next (RDE_PARAM p, long int m)
{
int leni;
char* ch;
ASSERT_BOUNDS(m,p->numstr);
p->CL ++;
@@ -939,11 +939,11 @@
rde_param_i_status_negate (RDE_PARAM p)
{
p->ST = !p->ST;
}
SCOPE int
- rde_param_i_symbol_restore (RDE_PARAM p, int s)
+ rde_param_i_symbol_restore (RDE_PARAM p, long int s)
{
NC_STATE* scs;
Tcl_HashEntry* hPtr;
Tcl_HashTable* tablePtr;
@@ -962,11 +962,11 @@
TRACE (("SV_RESTORE (%p) '%s'",scs->SV, scs->SV ? Tcl_GetString (scs->SV):""));
SV_SET (p, scs->SV);
return 1;
}
SCOPE void
- rde_param_i_symbol_save (RDE_PARAM p, int s)
+ rde_param_i_symbol_save (RDE_PARAM p, long int s)
{
long int at = (long int) rde_stack_top (p->LS);
NC_STATE* scs;
Tcl_HashEntry* hPtr;
Tcl_HashTable* tablePtr;
@@ -1033,11 +1033,11 @@
rde_param_i_test_control (RDE_PARAM p)
{
test_class (p, Tcl_UniCharIsControl, tc_control);
}
SCOPE void
- rde_param_i_test_char (RDE_PARAM p, const char* c, int msg)
+ rde_param_i_test_char (RDE_PARAM p, const char* c, long int msg)
{
ASSERT_BOUNDS(msg,p->numstr);
p->ST = Tcl_UtfNcmp (p->CC, c, 1) == 0;
if (p->ST) {
ER_CLEAR (p);
@@ -1075,11 +1075,11 @@
rde_param_i_test_punct (RDE_PARAM p)
{
test_class (p, Tcl_UniCharIsPunct, tc_punct);
}
SCOPE void
- rde_param_i_test_range (RDE_PARAM p, char* s, char* e, int msg)
+ rde_param_i_test_range (RDE_PARAM p, const char* s, const char* e, long int msg)
{
ASSERT_BOUNDS(msg,p->numstr);
p->ST =
(Tcl_UtfNcmp (s, p->CC, 1) <= 0) &&
(Tcl_UtfNcmp (p->CC, e, 1) <= 0);
@@ -1144,11 +1144,11 @@
rde_param_i_value_clear (RDE_PARAM p)
{
SV_CLEAR (p);
}
SCOPE void
- rde_param_i_value_leaf (RDE_PARAM p, int s)
+ rde_param_i_value_leaf (RDE_PARAM p, long int s)
{
Tcl_Obj* newsv;
Tcl_Obj* ov [3];
long int pos = 1 + (long int) rde_stack_top (p->LS);
ASSERT_BOUNDS(s,p->numstr);
@@ -1158,11 +1158,11 @@
newsv = Tcl_NewListObj (3, ov);
TRACE (("rde_param_i_value_leaf => '%s'",Tcl_GetString (newsv)));
SV_SET (p, newsv);
}
SCOPE void
- rde_param_i_value_reduce (RDE_PARAM p, int s)
+ rde_param_i_value_reduce (RDE_PARAM p, long int s)
{
Tcl_Obj* newsv;
int oc, i, j;
Tcl_Obj** ov;
long int ac;
@@ -1190,18 +1190,21 @@
ckfree ((char*) ov);
}
static int
er_int_compare (const void* a, const void* b)
{
- long int ai = *((long int*) a);
- long int bi = *((long int*) b);
- if (ai < bi) { return -1; }
- if (ai > bi) { return 1; }
+
+ const void** ael = (const void**) a;
+ const void** bel = (const void**) b;
+ long int avalue = (long int) *ael;
+ long int bvalue = (long int) *bel;
+ if (avalue < bvalue) { return -1; }
+ if (avalue > bvalue) { return 1; }
return 0;
}
SCOPE int
- rde_param_i_symbol_start (RDE_PARAM p, int s)
+ rde_param_i_symbol_start (RDE_PARAM p, long int s)
{
if (rde_param_i_symbol_restore (p, s)) {
if (p->ST) {
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
@@ -1210,11 +1213,11 @@
}
rde_stack_push (p->LS, (void*) p->CL);
return 0;
}
SCOPE int
- rde_param_i_symbol_start_d (RDE_PARAM p, int s)
+ rde_param_i_symbol_start_d (RDE_PARAM p, long int s)
{
if (rde_param_i_symbol_restore (p, s)) {
if (p->ST) {
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
@@ -1224,26 +1227,26 @@
rde_stack_push (p->LS, (void*) p->CL);
rde_stack_push (p->mark, (void*) rde_stack_size (p->ast));
return 0;
}
SCOPE int
- rde_param_i_symbol_void_start (RDE_PARAM p, int s)
+ rde_param_i_symbol_void_start (RDE_PARAM p, long int s)
{
if (rde_param_i_symbol_restore (p, s)) return 1;
rde_stack_push (p->LS, (void*) p->CL);
return 0;
}
SCOPE int
- rde_param_i_symbol_void_start_d (RDE_PARAM p, int s)
+ rde_param_i_symbol_void_start_d (RDE_PARAM p, long int s)
{
if (rde_param_i_symbol_restore (p, s)) return 1;
rde_stack_push (p->LS, (void*) p->CL);
rde_stack_push (p->mark, (void*) rde_stack_size (p->ast));
return 0;
}
SCOPE void
- rde_param_i_symbol_done_d_reduce (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_d_reduce (RDE_PARAM p, long int s, long int m)
{
if (p->ST) {
rde_param_i_value_reduce (p, s);
} else {
SV_CLEAR (p);
@@ -1256,11 +1259,11 @@
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
}
}
SCOPE void
- rde_param_i_symbol_done_leaf (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_leaf (RDE_PARAM p, long int s, long int m)
{
if (p->ST) {
rde_param_i_value_leaf (p, s);
} else {
SV_CLEAR (p);
@@ -1272,11 +1275,11 @@
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
}
}
SCOPE void
- rde_param_i_symbol_done_d_leaf (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_d_leaf (RDE_PARAM p, long int s, long int m)
{
if (p->ST) {
rde_param_i_value_leaf (p, s);
} else {
SV_CLEAR (p);
@@ -1289,133 +1292,133 @@
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
}
}
SCOPE void
- rde_param_i_symbol_done_void (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_void (RDE_PARAM p, long int s, long int m)
{
SV_CLEAR (p);
rde_param_i_symbol_save (p, s);
rde_param_i_error_nonterminal (p, m);
rde_stack_pop (p->LS, 1);
}
SCOPE void
- rde_param_i_symbol_done_d_void (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_d_void (RDE_PARAM p, long int s, long int m)
{
SV_CLEAR (p);
rde_param_i_symbol_save (p, s);
rde_param_i_error_nonterminal (p, m);
rde_param_i_ast_pop_rewind (p);
rde_stack_pop (p->LS, 1);
}
SCOPE void
- rde_param_i_next_char (RDE_PARAM p, char* c, int m)
+ rde_param_i_next_char (RDE_PARAM p, const char* c, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_char (p, c, m);
}
SCOPE void
- rde_param_i_next_range (RDE_PARAM p, char* s, char* e, int m)
+ rde_param_i_next_range (RDE_PARAM p, const char* s, const char* e, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_range (p, s, e, m);
}
SCOPE void
- rde_param_i_next_alnum (RDE_PARAM p, int m)
+ rde_param_i_next_alnum (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_alnum (p);
}
SCOPE void
- rde_param_i_next_alpha (RDE_PARAM p, int m)
+ rde_param_i_next_alpha (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_alpha (p);
}
SCOPE void
- rde_param_i_next_ascii (RDE_PARAM p, int m)
+ rde_param_i_next_ascii (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_ascii (p);
}
SCOPE void
- rde_param_i_next_control (RDE_PARAM p, int m)
+ rde_param_i_next_control (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_control (p);
}
SCOPE void
- rde_param_i_next_ddigit (RDE_PARAM p, int m)
+ rde_param_i_next_ddigit (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_ddigit (p);
}
SCOPE void
- rde_param_i_next_digit (RDE_PARAM p, int m)
+ rde_param_i_next_digit (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_digit (p);
}
SCOPE void
- rde_param_i_next_graph (RDE_PARAM p, int m)
+ rde_param_i_next_graph (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_graph (p);
}
SCOPE void
- rde_param_i_next_lower (RDE_PARAM p, int m)
+ rde_param_i_next_lower (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_lower (p);
}
SCOPE void
- rde_param_i_next_print (RDE_PARAM p, int m)
+ rde_param_i_next_print (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_print (p);
}
SCOPE void
- rde_param_i_next_punct (RDE_PARAM p, int m)
+ rde_param_i_next_punct (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_punct (p);
}
SCOPE void
- rde_param_i_next_space (RDE_PARAM p, int m)
+ rde_param_i_next_space (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_space (p);
}
SCOPE void
- rde_param_i_next_upper (RDE_PARAM p, int m)
+ rde_param_i_next_upper (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_upper (p);
}
SCOPE void
- rde_param_i_next_wordchar (RDE_PARAM p, int m)
+ rde_param_i_next_wordchar (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_wordchar (p);
}
SCOPE void
- rde_param_i_next_xdigit (RDE_PARAM p, int m)
+ rde_param_i_next_xdigit (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_xdigit (p);
}
@@ -1492,11 +1495,11 @@
rde_param_i_state_merge_value (RDE_PARAM p)
{
rde_param_i_error_pop_merge (p);
if (!p->ST) {
long int trim = (long int) rde_stack_top (p->mark);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
p->CL = (long int) rde_stack_top (p->LS);
}
rde_stack_pop (p->mark, 1);
rde_stack_pop (p->LS, 1);
}
@@ -1560,11 +1563,11 @@
if (p->ER) { p->ER->refCount ++; }
return 0;
} else {
long int trim = (long int) rde_stack_top (p->mark);
rde_stack_pop (p->mark, 1);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
p->CL = (long int) rde_stack_top (p->LS);
rde_stack_pop (p->LS, 1);
return 1;
}
}
@@ -1603,11 +1606,11 @@
rde_stack_pop (p->mark, 1);
rde_stack_pop (p->LS, 1);
} else {
long int trim = (long int) rde_stack_top (p->mark);
rde_stack_pop (p->mark, 1);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
p->CL = (long int) rde_stack_top (p->LS);
rde_stack_push (p->ES, p->ER);
if (p->ER) { p->ER->refCount ++; }
}
return p->ST;
@@ -1619,19 +1622,19 @@
if (p->ST) {
rde_stack_pop (p->mark, 1);
rde_stack_pop (p->LS, 1);
} else {
long int trim = (long int) rde_stack_top (p->mark);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
p->CL = (long int) rde_stack_top (p->LS);
rde_stack_push (p->ES, p->ER);
if (p->ER) { p->ER->refCount ++; }
}
return p->ST;
}
SCOPE void
- rde_param_i_next_str (RDE_PARAM p, const char* str, int m)
+ rde_param_i_next_str (RDE_PARAM p, const char* str, long int m)
{
int at = p->CL;
while (*str) {
rde_param_i_input_next (p, m);
@@ -1648,11 +1651,11 @@
}
str = Tcl_UtfNext (str);
}
}
SCOPE void
- rde_param_i_next_class (RDE_PARAM p, const char* class, int m)
+ rde_param_i_next_class (RDE_PARAM p, const char* class, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
while (*class) {
p->ST = Tcl_UtfNcmp (p->CC, class, 1) == 0;
@@ -1809,11 +1812,11 @@
Tcl_SetAssocData (interp, KEY, proc,
(ClientData) parserg);
}
parserg->counter ++;
- sprintf (parserg->buf, "PARSER%d", parserg->counter);
+ sprintf (parserg->buf, "PARSER%ld", parserg->counter);
return parserg->buf;
#undef KEY
}
static void
Index: modules/pt/tests/data/ok/peg_cparam-tea/2_fun_arithmetic
==================================================================
--- modules/pt/tests/data/ok/peg_cparam-tea/2_fun_arithmetic
+++ modules/pt/tests/data/ok/peg_cparam-tea/2_fun_arithmetic
@@ -384,18 +384,18 @@
}
SCOPE void
rde_tc_get (RDE_TC tc, int at, char** ch, long int* len)
{
long int oc, off, top, end;
- long int* ov;
- rde_stack_get (tc->off, &oc, (void***) &ov);
+ void** ov;
+ rde_stack_get (tc->off, &oc, &ov);
ASSERT_BOUNDS(at,oc);
- off = ov [at];
+ off = (long int) ov [at];
if ((at+1) == oc) {
end = tc->num;
} else {
- end = ov [at+1];
+ end = (long int) ov [at+1];
}
TRACE (("rde_tc_get (RDE_TC %p, @ %d) => %d.[%d ... %d]/%d",tc,at,end-off,off,end-1,tc->num));
ASSERT_BOUNDS(off,tc->num);
ASSERT_BOUNDS(end-1,tc->num);
*ch = tc->str + off;
@@ -403,19 +403,19 @@
}
SCOPE void
rde_tc_get_s (RDE_TC tc, int at, int last, char** ch, long int* len)
{
long int oc, off, top, end;
- long int* ov;
- rde_stack_get (tc->off, &oc, (void***) &ov);
+ void** ov;
+ rde_stack_get (tc->off, &oc, &ov);
ASSERT_BOUNDS(at,oc);
ASSERT_BOUNDS(last,oc);
- off = ov [at];
+ off = (long int) ov [at];
if ((last+1) == oc) {
end = tc->num;
} else {
- end = ov [last+1];
+ end = (long int) ov [last+1];
}
TRACE (("rde_tc_get_s (RDE_TC %p, @ %d .. %d) => %d.[%d ... %d]/%d",tc,at,last,end-off,off,end-1,tc->num));
ASSERT_BOUNDS(off,tc->num);
ASSERT_BOUNDS(end-1,tc->num);
*ch = tc->str + off;
@@ -464,11 +464,11 @@
tc_wordchar,
tc_xdigit
} test_class_id;
static void ast_node_free (void* n);
static void error_state_free (void* es);
- static void error_set (RDE_PARAM p, int s);
+ static void error_set (RDE_PARAM p, long int s);
static void nc_clear (RDE_PARAM p);
static int UniCharIsAscii (int character);
static int UniCharIsHexDigit (int character);
static int UniCharIsDecDigit (int character);
static void test_class (RDE_PARAM p, UniCharClass class, test_class_id id);
@@ -617,13 +617,13 @@
rde_param_query_clientdata (RDE_PARAM p)
{
return p->clientData;
}
SCOPE void
- rde_param_query_amark (RDE_PARAM p, long int* mc, long int** mv)
+ rde_param_query_amark (RDE_PARAM p, long int* mc, void*** mv)
{
- rde_stack_get (p->mark, mc, (void***) mv);
+ rde_stack_get (p->mark, mc, mv);
}
SCOPE void
rde_param_query_ast (RDE_PARAM p, long int* ac, Tcl_Obj*** av)
{
rde_stack_get (p->ast, ac, (void***) av);
@@ -660,25 +660,25 @@
res = Tcl_NewStringObj ("", 0);
} else {
Tcl_Obj* ov [2];
Tcl_Obj** mov;
long int mc, i, j;
- long int* mv;
+ void** mv;
int lastid;
const char* msg;
- rde_stack_get (er->msg, &mc, (void***) &mv);
+ rde_stack_get (er->msg, &mc, &mv);
- qsort (mv, mc, sizeof (long int), er_int_compare);
+ qsort (mv, mc, sizeof (void*), er_int_compare);
mov = NALLOC (mc, Tcl_Obj*);
lastid = -1;
for (i=0, j=0; i < mc; i++) {
ASSERT_BOUNDS (i,mc);
- if (mv [i] == lastid) continue;
- lastid = mv [i];
- ASSERT_BOUNDS(mv[i],p->numstr);
- msg = p->string [mv[i]];
+ if (((long int) mv [i]) == lastid) continue;
+ lastid = (long int) mv [i];
+ ASSERT_BOUNDS((long int) mv[i],p->numstr);
+ msg = p->string [(long int) mv[i]];
ASSERT_BOUNDS (j,mc);
mov [j] = Tcl_NewStringObj (msg, -1);
j++;
}
@@ -747,11 +747,11 @@
{
long int trim = (long int) rde_stack_top (p->mark);
ENTER ("rde_param_i_ast_pop_rewind");
TRACE (("RDE_PARAM %p",p));
rde_stack_pop (p->mark, 1);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
TRACE (("SV = (%p rc%d '%s')",
p->SV,
p->SV ? p->SV->refCount : -1,
p->SV ? Tcl_GetString (p->SV) : ""));
RETURNVOID;
@@ -760,11 +760,11 @@
rde_param_i_ast_rewind (RDE_PARAM p)
{
long int trim = (long int) rde_stack_top (p->mark);
ENTER ("rde_param_i_ast_rewind");
TRACE (("RDE_PARAM %p",p));
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
TRACE (("SV = (%p rc%d '%s')",
p->SV,
p->SV ? p->SV->refCount : -1,
p->SV ? Tcl_GetString (p->SV) : ""));
RETURNVOID;
@@ -795,11 +795,11 @@
rde_param_i_error_clear (RDE_PARAM p)
{
ER_CLEAR (p);
}
SCOPE void
- rde_param_i_error_nonterminal (RDE_PARAM p, int s)
+ rde_param_i_error_nonterminal (RDE_PARAM p, long int s)
{
return;
long int pos;
if (!p->ER) return;
@@ -851,11 +851,11 @@
{
rde_stack_push (p->ES, p->ER);
if (p->ER) { p->ER->refCount ++; }
}
static void
- error_set (RDE_PARAM p, int s)
+ error_set (RDE_PARAM p, long int s)
{
error_state_free (p->ER);
p->ER = ALLOC (ERROR_STATE);
p->ER->refCount = 1;
p->ER->loc = p->CL;
@@ -893,11 +893,11 @@
rde_param_i_loc_rewind (RDE_PARAM p)
{
p->CL = (long int) rde_stack_top (p->LS);
}
SCOPE void
- rde_param_i_input_next (RDE_PARAM p, int m)
+ rde_param_i_input_next (RDE_PARAM p, long int m)
{
int leni;
char* ch;
ASSERT_BOUNDS(m,p->numstr);
p->CL ++;
@@ -939,11 +939,11 @@
rde_param_i_status_negate (RDE_PARAM p)
{
p->ST = !p->ST;
}
SCOPE int
- rde_param_i_symbol_restore (RDE_PARAM p, int s)
+ rde_param_i_symbol_restore (RDE_PARAM p, long int s)
{
NC_STATE* scs;
Tcl_HashEntry* hPtr;
Tcl_HashTable* tablePtr;
@@ -962,11 +962,11 @@
TRACE (("SV_RESTORE (%p) '%s'",scs->SV, scs->SV ? Tcl_GetString (scs->SV):""));
SV_SET (p, scs->SV);
return 1;
}
SCOPE void
- rde_param_i_symbol_save (RDE_PARAM p, int s)
+ rde_param_i_symbol_save (RDE_PARAM p, long int s)
{
long int at = (long int) rde_stack_top (p->LS);
NC_STATE* scs;
Tcl_HashEntry* hPtr;
Tcl_HashTable* tablePtr;
@@ -1033,11 +1033,11 @@
rde_param_i_test_control (RDE_PARAM p)
{
test_class (p, Tcl_UniCharIsControl, tc_control);
}
SCOPE void
- rde_param_i_test_char (RDE_PARAM p, const char* c, int msg)
+ rde_param_i_test_char (RDE_PARAM p, const char* c, long int msg)
{
ASSERT_BOUNDS(msg,p->numstr);
p->ST = Tcl_UtfNcmp (p->CC, c, 1) == 0;
if (p->ST) {
ER_CLEAR (p);
@@ -1075,11 +1075,11 @@
rde_param_i_test_punct (RDE_PARAM p)
{
test_class (p, Tcl_UniCharIsPunct, tc_punct);
}
SCOPE void
- rde_param_i_test_range (RDE_PARAM p, char* s, char* e, int msg)
+ rde_param_i_test_range (RDE_PARAM p, const char* s, const char* e, long int msg)
{
ASSERT_BOUNDS(msg,p->numstr);
p->ST =
(Tcl_UtfNcmp (s, p->CC, 1) <= 0) &&
(Tcl_UtfNcmp (p->CC, e, 1) <= 0);
@@ -1144,11 +1144,11 @@
rde_param_i_value_clear (RDE_PARAM p)
{
SV_CLEAR (p);
}
SCOPE void
- rde_param_i_value_leaf (RDE_PARAM p, int s)
+ rde_param_i_value_leaf (RDE_PARAM p, long int s)
{
Tcl_Obj* newsv;
Tcl_Obj* ov [3];
long int pos = 1 + (long int) rde_stack_top (p->LS);
ASSERT_BOUNDS(s,p->numstr);
@@ -1158,11 +1158,11 @@
newsv = Tcl_NewListObj (3, ov);
TRACE (("rde_param_i_value_leaf => '%s'",Tcl_GetString (newsv)));
SV_SET (p, newsv);
}
SCOPE void
- rde_param_i_value_reduce (RDE_PARAM p, int s)
+ rde_param_i_value_reduce (RDE_PARAM p, long int s)
{
Tcl_Obj* newsv;
int oc, i, j;
Tcl_Obj** ov;
long int ac;
@@ -1190,18 +1190,21 @@
ckfree ((char*) ov);
}
static int
er_int_compare (const void* a, const void* b)
{
- long int ai = *((long int*) a);
- long int bi = *((long int*) b);
- if (ai < bi) { return -1; }
- if (ai > bi) { return 1; }
+
+ const void** ael = (const void**) a;
+ const void** bel = (const void**) b;
+ long int avalue = (long int) *ael;
+ long int bvalue = (long int) *bel;
+ if (avalue < bvalue) { return -1; }
+ if (avalue > bvalue) { return 1; }
return 0;
}
SCOPE int
- rde_param_i_symbol_start (RDE_PARAM p, int s)
+ rde_param_i_symbol_start (RDE_PARAM p, long int s)
{
if (rde_param_i_symbol_restore (p, s)) {
if (p->ST) {
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
@@ -1210,11 +1213,11 @@
}
rde_stack_push (p->LS, (void*) p->CL);
return 0;
}
SCOPE int
- rde_param_i_symbol_start_d (RDE_PARAM p, int s)
+ rde_param_i_symbol_start_d (RDE_PARAM p, long int s)
{
if (rde_param_i_symbol_restore (p, s)) {
if (p->ST) {
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
@@ -1224,26 +1227,26 @@
rde_stack_push (p->LS, (void*) p->CL);
rde_stack_push (p->mark, (void*) rde_stack_size (p->ast));
return 0;
}
SCOPE int
- rde_param_i_symbol_void_start (RDE_PARAM p, int s)
+ rde_param_i_symbol_void_start (RDE_PARAM p, long int s)
{
if (rde_param_i_symbol_restore (p, s)) return 1;
rde_stack_push (p->LS, (void*) p->CL);
return 0;
}
SCOPE int
- rde_param_i_symbol_void_start_d (RDE_PARAM p, int s)
+ rde_param_i_symbol_void_start_d (RDE_PARAM p, long int s)
{
if (rde_param_i_symbol_restore (p, s)) return 1;
rde_stack_push (p->LS, (void*) p->CL);
rde_stack_push (p->mark, (void*) rde_stack_size (p->ast));
return 0;
}
SCOPE void
- rde_param_i_symbol_done_d_reduce (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_d_reduce (RDE_PARAM p, long int s, long int m)
{
if (p->ST) {
rde_param_i_value_reduce (p, s);
} else {
SV_CLEAR (p);
@@ -1256,11 +1259,11 @@
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
}
}
SCOPE void
- rde_param_i_symbol_done_leaf (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_leaf (RDE_PARAM p, long int s, long int m)
{
if (p->ST) {
rde_param_i_value_leaf (p, s);
} else {
SV_CLEAR (p);
@@ -1272,11 +1275,11 @@
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
}
}
SCOPE void
- rde_param_i_symbol_done_d_leaf (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_d_leaf (RDE_PARAM p, long int s, long int m)
{
if (p->ST) {
rde_param_i_value_leaf (p, s);
} else {
SV_CLEAR (p);
@@ -1289,133 +1292,133 @@
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
}
}
SCOPE void
- rde_param_i_symbol_done_void (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_void (RDE_PARAM p, long int s, long int m)
{
SV_CLEAR (p);
rde_param_i_symbol_save (p, s);
rde_param_i_error_nonterminal (p, m);
rde_stack_pop (p->LS, 1);
}
SCOPE void
- rde_param_i_symbol_done_d_void (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_d_void (RDE_PARAM p, long int s, long int m)
{
SV_CLEAR (p);
rde_param_i_symbol_save (p, s);
rde_param_i_error_nonterminal (p, m);
rde_param_i_ast_pop_rewind (p);
rde_stack_pop (p->LS, 1);
}
SCOPE void
- rde_param_i_next_char (RDE_PARAM p, char* c, int m)
+ rde_param_i_next_char (RDE_PARAM p, const char* c, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_char (p, c, m);
}
SCOPE void
- rde_param_i_next_range (RDE_PARAM p, char* s, char* e, int m)
+ rde_param_i_next_range (RDE_PARAM p, const char* s, const char* e, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_range (p, s, e, m);
}
SCOPE void
- rde_param_i_next_alnum (RDE_PARAM p, int m)
+ rde_param_i_next_alnum (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_alnum (p);
}
SCOPE void
- rde_param_i_next_alpha (RDE_PARAM p, int m)
+ rde_param_i_next_alpha (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_alpha (p);
}
SCOPE void
- rde_param_i_next_ascii (RDE_PARAM p, int m)
+ rde_param_i_next_ascii (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_ascii (p);
}
SCOPE void
- rde_param_i_next_control (RDE_PARAM p, int m)
+ rde_param_i_next_control (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_control (p);
}
SCOPE void
- rde_param_i_next_ddigit (RDE_PARAM p, int m)
+ rde_param_i_next_ddigit (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_ddigit (p);
}
SCOPE void
- rde_param_i_next_digit (RDE_PARAM p, int m)
+ rde_param_i_next_digit (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_digit (p);
}
SCOPE void
- rde_param_i_next_graph (RDE_PARAM p, int m)
+ rde_param_i_next_graph (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_graph (p);
}
SCOPE void
- rde_param_i_next_lower (RDE_PARAM p, int m)
+ rde_param_i_next_lower (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_lower (p);
}
SCOPE void
- rde_param_i_next_print (RDE_PARAM p, int m)
+ rde_param_i_next_print (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_print (p);
}
SCOPE void
- rde_param_i_next_punct (RDE_PARAM p, int m)
+ rde_param_i_next_punct (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_punct (p);
}
SCOPE void
- rde_param_i_next_space (RDE_PARAM p, int m)
+ rde_param_i_next_space (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_space (p);
}
SCOPE void
- rde_param_i_next_upper (RDE_PARAM p, int m)
+ rde_param_i_next_upper (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_upper (p);
}
SCOPE void
- rde_param_i_next_wordchar (RDE_PARAM p, int m)
+ rde_param_i_next_wordchar (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_wordchar (p);
}
SCOPE void
- rde_param_i_next_xdigit (RDE_PARAM p, int m)
+ rde_param_i_next_xdigit (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_xdigit (p);
}
@@ -1492,11 +1495,11 @@
rde_param_i_state_merge_value (RDE_PARAM p)
{
rde_param_i_error_pop_merge (p);
if (!p->ST) {
long int trim = (long int) rde_stack_top (p->mark);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
p->CL = (long int) rde_stack_top (p->LS);
}
rde_stack_pop (p->mark, 1);
rde_stack_pop (p->LS, 1);
}
@@ -1560,11 +1563,11 @@
if (p->ER) { p->ER->refCount ++; }
return 0;
} else {
long int trim = (long int) rde_stack_top (p->mark);
rde_stack_pop (p->mark, 1);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
p->CL = (long int) rde_stack_top (p->LS);
rde_stack_pop (p->LS, 1);
return 1;
}
}
@@ -1603,11 +1606,11 @@
rde_stack_pop (p->mark, 1);
rde_stack_pop (p->LS, 1);
} else {
long int trim = (long int) rde_stack_top (p->mark);
rde_stack_pop (p->mark, 1);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
p->CL = (long int) rde_stack_top (p->LS);
rde_stack_push (p->ES, p->ER);
if (p->ER) { p->ER->refCount ++; }
}
return p->ST;
@@ -1619,19 +1622,19 @@
if (p->ST) {
rde_stack_pop (p->mark, 1);
rde_stack_pop (p->LS, 1);
} else {
long int trim = (long int) rde_stack_top (p->mark);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
p->CL = (long int) rde_stack_top (p->LS);
rde_stack_push (p->ES, p->ER);
if (p->ER) { p->ER->refCount ++; }
}
return p->ST;
}
SCOPE void
- rde_param_i_next_str (RDE_PARAM p, const char* str, int m)
+ rde_param_i_next_str (RDE_PARAM p, const char* str, long int m)
{
int at = p->CL;
while (*str) {
rde_param_i_input_next (p, m);
@@ -1648,11 +1651,11 @@
}
str = Tcl_UtfNext (str);
}
}
SCOPE void
- rde_param_i_next_class (RDE_PARAM p, const char* class, int m)
+ rde_param_i_next_class (RDE_PARAM p, const char* class, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
while (*class) {
p->ST = Tcl_UtfNcmp (p->CC, class, 1) == 0;
@@ -2158,11 +2161,11 @@
Tcl_SetAssocData (interp, KEY, proc,
(ClientData) parserg);
}
parserg->counter ++;
- sprintf (parserg->buf, "PARSER%d", parserg->counter);
+ sprintf (parserg->buf, "PARSER%ld", parserg->counter);
return parserg->buf;
#undef KEY
}
static void
Index: modules/pt/tests/data/ok/peg_cparam-tea/3_peg_itself
==================================================================
--- modules/pt/tests/data/ok/peg_cparam-tea/3_peg_itself
+++ modules/pt/tests/data/ok/peg_cparam-tea/3_peg_itself
@@ -384,18 +384,18 @@
}
SCOPE void
rde_tc_get (RDE_TC tc, int at, char** ch, long int* len)
{
long int oc, off, top, end;
- long int* ov;
- rde_stack_get (tc->off, &oc, (void***) &ov);
+ void** ov;
+ rde_stack_get (tc->off, &oc, &ov);
ASSERT_BOUNDS(at,oc);
- off = ov [at];
+ off = (long int) ov [at];
if ((at+1) == oc) {
end = tc->num;
} else {
- end = ov [at+1];
+ end = (long int) ov [at+1];
}
TRACE (("rde_tc_get (RDE_TC %p, @ %d) => %d.[%d ... %d]/%d",tc,at,end-off,off,end-1,tc->num));
ASSERT_BOUNDS(off,tc->num);
ASSERT_BOUNDS(end-1,tc->num);
*ch = tc->str + off;
@@ -403,19 +403,19 @@
}
SCOPE void
rde_tc_get_s (RDE_TC tc, int at, int last, char** ch, long int* len)
{
long int oc, off, top, end;
- long int* ov;
- rde_stack_get (tc->off, &oc, (void***) &ov);
+ void** ov;
+ rde_stack_get (tc->off, &oc, &ov);
ASSERT_BOUNDS(at,oc);
ASSERT_BOUNDS(last,oc);
- off = ov [at];
+ off = (long int) ov [at];
if ((last+1) == oc) {
end = tc->num;
} else {
- end = ov [last+1];
+ end = (long int) ov [last+1];
}
TRACE (("rde_tc_get_s (RDE_TC %p, @ %d .. %d) => %d.[%d ... %d]/%d",tc,at,last,end-off,off,end-1,tc->num));
ASSERT_BOUNDS(off,tc->num);
ASSERT_BOUNDS(end-1,tc->num);
*ch = tc->str + off;
@@ -464,11 +464,11 @@
tc_wordchar,
tc_xdigit
} test_class_id;
static void ast_node_free (void* n);
static void error_state_free (void* es);
- static void error_set (RDE_PARAM p, int s);
+ static void error_set (RDE_PARAM p, long int s);
static void nc_clear (RDE_PARAM p);
static int UniCharIsAscii (int character);
static int UniCharIsHexDigit (int character);
static int UniCharIsDecDigit (int character);
static void test_class (RDE_PARAM p, UniCharClass class, test_class_id id);
@@ -617,13 +617,13 @@
rde_param_query_clientdata (RDE_PARAM p)
{
return p->clientData;
}
SCOPE void
- rde_param_query_amark (RDE_PARAM p, long int* mc, long int** mv)
+ rde_param_query_amark (RDE_PARAM p, long int* mc, void*** mv)
{
- rde_stack_get (p->mark, mc, (void***) mv);
+ rde_stack_get (p->mark, mc, mv);
}
SCOPE void
rde_param_query_ast (RDE_PARAM p, long int* ac, Tcl_Obj*** av)
{
rde_stack_get (p->ast, ac, (void***) av);
@@ -660,25 +660,25 @@
res = Tcl_NewStringObj ("", 0);
} else {
Tcl_Obj* ov [2];
Tcl_Obj** mov;
long int mc, i, j;
- long int* mv;
+ void** mv;
int lastid;
const char* msg;
- rde_stack_get (er->msg, &mc, (void***) &mv);
+ rde_stack_get (er->msg, &mc, &mv);
- qsort (mv, mc, sizeof (long int), er_int_compare);
+ qsort (mv, mc, sizeof (void*), er_int_compare);
mov = NALLOC (mc, Tcl_Obj*);
lastid = -1;
for (i=0, j=0; i < mc; i++) {
ASSERT_BOUNDS (i,mc);
- if (mv [i] == lastid) continue;
- lastid = mv [i];
- ASSERT_BOUNDS(mv[i],p->numstr);
- msg = p->string [mv[i]];
+ if (((long int) mv [i]) == lastid) continue;
+ lastid = (long int) mv [i];
+ ASSERT_BOUNDS((long int) mv[i],p->numstr);
+ msg = p->string [(long int) mv[i]];
ASSERT_BOUNDS (j,mc);
mov [j] = Tcl_NewStringObj (msg, -1);
j++;
}
@@ -747,11 +747,11 @@
{
long int trim = (long int) rde_stack_top (p->mark);
ENTER ("rde_param_i_ast_pop_rewind");
TRACE (("RDE_PARAM %p",p));
rde_stack_pop (p->mark, 1);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
TRACE (("SV = (%p rc%d '%s')",
p->SV,
p->SV ? p->SV->refCount : -1,
p->SV ? Tcl_GetString (p->SV) : ""));
RETURNVOID;
@@ -760,11 +760,11 @@
rde_param_i_ast_rewind (RDE_PARAM p)
{
long int trim = (long int) rde_stack_top (p->mark);
ENTER ("rde_param_i_ast_rewind");
TRACE (("RDE_PARAM %p",p));
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
TRACE (("SV = (%p rc%d '%s')",
p->SV,
p->SV ? p->SV->refCount : -1,
p->SV ? Tcl_GetString (p->SV) : ""));
RETURNVOID;
@@ -795,11 +795,11 @@
rde_param_i_error_clear (RDE_PARAM p)
{
ER_CLEAR (p);
}
SCOPE void
- rde_param_i_error_nonterminal (RDE_PARAM p, int s)
+ rde_param_i_error_nonterminal (RDE_PARAM p, long int s)
{
return;
long int pos;
if (!p->ER) return;
@@ -851,11 +851,11 @@
{
rde_stack_push (p->ES, p->ER);
if (p->ER) { p->ER->refCount ++; }
}
static void
- error_set (RDE_PARAM p, int s)
+ error_set (RDE_PARAM p, long int s)
{
error_state_free (p->ER);
p->ER = ALLOC (ERROR_STATE);
p->ER->refCount = 1;
p->ER->loc = p->CL;
@@ -893,11 +893,11 @@
rde_param_i_loc_rewind (RDE_PARAM p)
{
p->CL = (long int) rde_stack_top (p->LS);
}
SCOPE void
- rde_param_i_input_next (RDE_PARAM p, int m)
+ rde_param_i_input_next (RDE_PARAM p, long int m)
{
int leni;
char* ch;
ASSERT_BOUNDS(m,p->numstr);
p->CL ++;
@@ -939,11 +939,11 @@
rde_param_i_status_negate (RDE_PARAM p)
{
p->ST = !p->ST;
}
SCOPE int
- rde_param_i_symbol_restore (RDE_PARAM p, int s)
+ rde_param_i_symbol_restore (RDE_PARAM p, long int s)
{
NC_STATE* scs;
Tcl_HashEntry* hPtr;
Tcl_HashTable* tablePtr;
@@ -962,11 +962,11 @@
TRACE (("SV_RESTORE (%p) '%s'",scs->SV, scs->SV ? Tcl_GetString (scs->SV):""));
SV_SET (p, scs->SV);
return 1;
}
SCOPE void
- rde_param_i_symbol_save (RDE_PARAM p, int s)
+ rde_param_i_symbol_save (RDE_PARAM p, long int s)
{
long int at = (long int) rde_stack_top (p->LS);
NC_STATE* scs;
Tcl_HashEntry* hPtr;
Tcl_HashTable* tablePtr;
@@ -1033,11 +1033,11 @@
rde_param_i_test_control (RDE_PARAM p)
{
test_class (p, Tcl_UniCharIsControl, tc_control);
}
SCOPE void
- rde_param_i_test_char (RDE_PARAM p, const char* c, int msg)
+ rde_param_i_test_char (RDE_PARAM p, const char* c, long int msg)
{
ASSERT_BOUNDS(msg,p->numstr);
p->ST = Tcl_UtfNcmp (p->CC, c, 1) == 0;
if (p->ST) {
ER_CLEAR (p);
@@ -1075,11 +1075,11 @@
rde_param_i_test_punct (RDE_PARAM p)
{
test_class (p, Tcl_UniCharIsPunct, tc_punct);
}
SCOPE void
- rde_param_i_test_range (RDE_PARAM p, char* s, char* e, int msg)
+ rde_param_i_test_range (RDE_PARAM p, const char* s, const char* e, long int msg)
{
ASSERT_BOUNDS(msg,p->numstr);
p->ST =
(Tcl_UtfNcmp (s, p->CC, 1) <= 0) &&
(Tcl_UtfNcmp (p->CC, e, 1) <= 0);
@@ -1144,11 +1144,11 @@
rde_param_i_value_clear (RDE_PARAM p)
{
SV_CLEAR (p);
}
SCOPE void
- rde_param_i_value_leaf (RDE_PARAM p, int s)
+ rde_param_i_value_leaf (RDE_PARAM p, long int s)
{
Tcl_Obj* newsv;
Tcl_Obj* ov [3];
long int pos = 1 + (long int) rde_stack_top (p->LS);
ASSERT_BOUNDS(s,p->numstr);
@@ -1158,11 +1158,11 @@
newsv = Tcl_NewListObj (3, ov);
TRACE (("rde_param_i_value_leaf => '%s'",Tcl_GetString (newsv)));
SV_SET (p, newsv);
}
SCOPE void
- rde_param_i_value_reduce (RDE_PARAM p, int s)
+ rde_param_i_value_reduce (RDE_PARAM p, long int s)
{
Tcl_Obj* newsv;
int oc, i, j;
Tcl_Obj** ov;
long int ac;
@@ -1190,18 +1190,21 @@
ckfree ((char*) ov);
}
static int
er_int_compare (const void* a, const void* b)
{
- long int ai = *((long int*) a);
- long int bi = *((long int*) b);
- if (ai < bi) { return -1; }
- if (ai > bi) { return 1; }
+
+ const void** ael = (const void**) a;
+ const void** bel = (const void**) b;
+ long int avalue = (long int) *ael;
+ long int bvalue = (long int) *bel;
+ if (avalue < bvalue) { return -1; }
+ if (avalue > bvalue) { return 1; }
return 0;
}
SCOPE int
- rde_param_i_symbol_start (RDE_PARAM p, int s)
+ rde_param_i_symbol_start (RDE_PARAM p, long int s)
{
if (rde_param_i_symbol_restore (p, s)) {
if (p->ST) {
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
@@ -1210,11 +1213,11 @@
}
rde_stack_push (p->LS, (void*) p->CL);
return 0;
}
SCOPE int
- rde_param_i_symbol_start_d (RDE_PARAM p, int s)
+ rde_param_i_symbol_start_d (RDE_PARAM p, long int s)
{
if (rde_param_i_symbol_restore (p, s)) {
if (p->ST) {
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
@@ -1224,26 +1227,26 @@
rde_stack_push (p->LS, (void*) p->CL);
rde_stack_push (p->mark, (void*) rde_stack_size (p->ast));
return 0;
}
SCOPE int
- rde_param_i_symbol_void_start (RDE_PARAM p, int s)
+ rde_param_i_symbol_void_start (RDE_PARAM p, long int s)
{
if (rde_param_i_symbol_restore (p, s)) return 1;
rde_stack_push (p->LS, (void*) p->CL);
return 0;
}
SCOPE int
- rde_param_i_symbol_void_start_d (RDE_PARAM p, int s)
+ rde_param_i_symbol_void_start_d (RDE_PARAM p, long int s)
{
if (rde_param_i_symbol_restore (p, s)) return 1;
rde_stack_push (p->LS, (void*) p->CL);
rde_stack_push (p->mark, (void*) rde_stack_size (p->ast));
return 0;
}
SCOPE void
- rde_param_i_symbol_done_d_reduce (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_d_reduce (RDE_PARAM p, long int s, long int m)
{
if (p->ST) {
rde_param_i_value_reduce (p, s);
} else {
SV_CLEAR (p);
@@ -1256,11 +1259,11 @@
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
}
}
SCOPE void
- rde_param_i_symbol_done_leaf (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_leaf (RDE_PARAM p, long int s, long int m)
{
if (p->ST) {
rde_param_i_value_leaf (p, s);
} else {
SV_CLEAR (p);
@@ -1272,11 +1275,11 @@
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
}
}
SCOPE void
- rde_param_i_symbol_done_d_leaf (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_d_leaf (RDE_PARAM p, long int s, long int m)
{
if (p->ST) {
rde_param_i_value_leaf (p, s);
} else {
SV_CLEAR (p);
@@ -1289,133 +1292,133 @@
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
}
}
SCOPE void
- rde_param_i_symbol_done_void (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_void (RDE_PARAM p, long int s, long int m)
{
SV_CLEAR (p);
rde_param_i_symbol_save (p, s);
rde_param_i_error_nonterminal (p, m);
rde_stack_pop (p->LS, 1);
}
SCOPE void
- rde_param_i_symbol_done_d_void (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_d_void (RDE_PARAM p, long int s, long int m)
{
SV_CLEAR (p);
rde_param_i_symbol_save (p, s);
rde_param_i_error_nonterminal (p, m);
rde_param_i_ast_pop_rewind (p);
rde_stack_pop (p->LS, 1);
}
SCOPE void
- rde_param_i_next_char (RDE_PARAM p, char* c, int m)
+ rde_param_i_next_char (RDE_PARAM p, const char* c, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_char (p, c, m);
}
SCOPE void
- rde_param_i_next_range (RDE_PARAM p, char* s, char* e, int m)
+ rde_param_i_next_range (RDE_PARAM p, const char* s, const char* e, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_range (p, s, e, m);
}
SCOPE void
- rde_param_i_next_alnum (RDE_PARAM p, int m)
+ rde_param_i_next_alnum (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_alnum (p);
}
SCOPE void
- rde_param_i_next_alpha (RDE_PARAM p, int m)
+ rde_param_i_next_alpha (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_alpha (p);
}
SCOPE void
- rde_param_i_next_ascii (RDE_PARAM p, int m)
+ rde_param_i_next_ascii (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_ascii (p);
}
SCOPE void
- rde_param_i_next_control (RDE_PARAM p, int m)
+ rde_param_i_next_control (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_control (p);
}
SCOPE void
- rde_param_i_next_ddigit (RDE_PARAM p, int m)
+ rde_param_i_next_ddigit (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_ddigit (p);
}
SCOPE void
- rde_param_i_next_digit (RDE_PARAM p, int m)
+ rde_param_i_next_digit (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_digit (p);
}
SCOPE void
- rde_param_i_next_graph (RDE_PARAM p, int m)
+ rde_param_i_next_graph (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_graph (p);
}
SCOPE void
- rde_param_i_next_lower (RDE_PARAM p, int m)
+ rde_param_i_next_lower (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_lower (p);
}
SCOPE void
- rde_param_i_next_print (RDE_PARAM p, int m)
+ rde_param_i_next_print (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_print (p);
}
SCOPE void
- rde_param_i_next_punct (RDE_PARAM p, int m)
+ rde_param_i_next_punct (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_punct (p);
}
SCOPE void
- rde_param_i_next_space (RDE_PARAM p, int m)
+ rde_param_i_next_space (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_space (p);
}
SCOPE void
- rde_param_i_next_upper (RDE_PARAM p, int m)
+ rde_param_i_next_upper (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_upper (p);
}
SCOPE void
- rde_param_i_next_wordchar (RDE_PARAM p, int m)
+ rde_param_i_next_wordchar (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_wordchar (p);
}
SCOPE void
- rde_param_i_next_xdigit (RDE_PARAM p, int m)
+ rde_param_i_next_xdigit (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_xdigit (p);
}
@@ -1492,11 +1495,11 @@
rde_param_i_state_merge_value (RDE_PARAM p)
{
rde_param_i_error_pop_merge (p);
if (!p->ST) {
long int trim = (long int) rde_stack_top (p->mark);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
p->CL = (long int) rde_stack_top (p->LS);
}
rde_stack_pop (p->mark, 1);
rde_stack_pop (p->LS, 1);
}
@@ -1560,11 +1563,11 @@
if (p->ER) { p->ER->refCount ++; }
return 0;
} else {
long int trim = (long int) rde_stack_top (p->mark);
rde_stack_pop (p->mark, 1);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
p->CL = (long int) rde_stack_top (p->LS);
rde_stack_pop (p->LS, 1);
return 1;
}
}
@@ -1603,11 +1606,11 @@
rde_stack_pop (p->mark, 1);
rde_stack_pop (p->LS, 1);
} else {
long int trim = (long int) rde_stack_top (p->mark);
rde_stack_pop (p->mark, 1);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
p->CL = (long int) rde_stack_top (p->LS);
rde_stack_push (p->ES, p->ER);
if (p->ER) { p->ER->refCount ++; }
}
return p->ST;
@@ -1619,19 +1622,19 @@
if (p->ST) {
rde_stack_pop (p->mark, 1);
rde_stack_pop (p->LS, 1);
} else {
long int trim = (long int) rde_stack_top (p->mark);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
p->CL = (long int) rde_stack_top (p->LS);
rde_stack_push (p->ES, p->ER);
if (p->ER) { p->ER->refCount ++; }
}
return p->ST;
}
SCOPE void
- rde_param_i_next_str (RDE_PARAM p, const char* str, int m)
+ rde_param_i_next_str (RDE_PARAM p, const char* str, long int m)
{
int at = p->CL;
while (*str) {
rde_param_i_input_next (p, m);
@@ -1648,11 +1651,11 @@
}
str = Tcl_UtfNext (str);
}
}
SCOPE void
- rde_param_i_next_class (RDE_PARAM p, const char* class, int m)
+ rde_param_i_next_class (RDE_PARAM p, const char* class, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
while (*class) {
p->ST = Tcl_UtfNcmp (p->CC, class, 1) == 0;
@@ -4697,11 +4700,11 @@
Tcl_SetAssocData (interp, KEY, proc,
(ClientData) parserg);
}
parserg->counter ++;
- sprintf (parserg->buf, "PARSER%d", parserg->counter);
+ sprintf (parserg->buf, "PARSER%ld", parserg->counter);
return parserg->buf;
#undef KEY
}
static void
Index: modules/pt/tests/data/ok/peg_cparam-tea/4_choice
==================================================================
--- modules/pt/tests/data/ok/peg_cparam-tea/4_choice
+++ modules/pt/tests/data/ok/peg_cparam-tea/4_choice
@@ -384,18 +384,18 @@
}
SCOPE void
rde_tc_get (RDE_TC tc, int at, char** ch, long int* len)
{
long int oc, off, top, end;
- long int* ov;
- rde_stack_get (tc->off, &oc, (void***) &ov);
+ void** ov;
+ rde_stack_get (tc->off, &oc, &ov);
ASSERT_BOUNDS(at,oc);
- off = ov [at];
+ off = (long int) ov [at];
if ((at+1) == oc) {
end = tc->num;
} else {
- end = ov [at+1];
+ end = (long int) ov [at+1];
}
TRACE (("rde_tc_get (RDE_TC %p, @ %d) => %d.[%d ... %d]/%d",tc,at,end-off,off,end-1,tc->num));
ASSERT_BOUNDS(off,tc->num);
ASSERT_BOUNDS(end-1,tc->num);
*ch = tc->str + off;
@@ -403,19 +403,19 @@
}
SCOPE void
rde_tc_get_s (RDE_TC tc, int at, int last, char** ch, long int* len)
{
long int oc, off, top, end;
- long int* ov;
- rde_stack_get (tc->off, &oc, (void***) &ov);
+ void** ov;
+ rde_stack_get (tc->off, &oc, &ov);
ASSERT_BOUNDS(at,oc);
ASSERT_BOUNDS(last,oc);
- off = ov [at];
+ off = (long int) ov [at];
if ((last+1) == oc) {
end = tc->num;
} else {
- end = ov [last+1];
+ end = (long int) ov [last+1];
}
TRACE (("rde_tc_get_s (RDE_TC %p, @ %d .. %d) => %d.[%d ... %d]/%d",tc,at,last,end-off,off,end-1,tc->num));
ASSERT_BOUNDS(off,tc->num);
ASSERT_BOUNDS(end-1,tc->num);
*ch = tc->str + off;
@@ -464,11 +464,11 @@
tc_wordchar,
tc_xdigit
} test_class_id;
static void ast_node_free (void* n);
static void error_state_free (void* es);
- static void error_set (RDE_PARAM p, int s);
+ static void error_set (RDE_PARAM p, long int s);
static void nc_clear (RDE_PARAM p);
static int UniCharIsAscii (int character);
static int UniCharIsHexDigit (int character);
static int UniCharIsDecDigit (int character);
static void test_class (RDE_PARAM p, UniCharClass class, test_class_id id);
@@ -617,13 +617,13 @@
rde_param_query_clientdata (RDE_PARAM p)
{
return p->clientData;
}
SCOPE void
- rde_param_query_amark (RDE_PARAM p, long int* mc, long int** mv)
+ rde_param_query_amark (RDE_PARAM p, long int* mc, void*** mv)
{
- rde_stack_get (p->mark, mc, (void***) mv);
+ rde_stack_get (p->mark, mc, mv);
}
SCOPE void
rde_param_query_ast (RDE_PARAM p, long int* ac, Tcl_Obj*** av)
{
rde_stack_get (p->ast, ac, (void***) av);
@@ -660,25 +660,25 @@
res = Tcl_NewStringObj ("", 0);
} else {
Tcl_Obj* ov [2];
Tcl_Obj** mov;
long int mc, i, j;
- long int* mv;
+ void** mv;
int lastid;
const char* msg;
- rde_stack_get (er->msg, &mc, (void***) &mv);
+ rde_stack_get (er->msg, &mc, &mv);
- qsort (mv, mc, sizeof (long int), er_int_compare);
+ qsort (mv, mc, sizeof (void*), er_int_compare);
mov = NALLOC (mc, Tcl_Obj*);
lastid = -1;
for (i=0, j=0; i < mc; i++) {
ASSERT_BOUNDS (i,mc);
- if (mv [i] == lastid) continue;
- lastid = mv [i];
- ASSERT_BOUNDS(mv[i],p->numstr);
- msg = p->string [mv[i]];
+ if (((long int) mv [i]) == lastid) continue;
+ lastid = (long int) mv [i];
+ ASSERT_BOUNDS((long int) mv[i],p->numstr);
+ msg = p->string [(long int) mv[i]];
ASSERT_BOUNDS (j,mc);
mov [j] = Tcl_NewStringObj (msg, -1);
j++;
}
@@ -747,11 +747,11 @@
{
long int trim = (long int) rde_stack_top (p->mark);
ENTER ("rde_param_i_ast_pop_rewind");
TRACE (("RDE_PARAM %p",p));
rde_stack_pop (p->mark, 1);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
TRACE (("SV = (%p rc%d '%s')",
p->SV,
p->SV ? p->SV->refCount : -1,
p->SV ? Tcl_GetString (p->SV) : ""));
RETURNVOID;
@@ -760,11 +760,11 @@
rde_param_i_ast_rewind (RDE_PARAM p)
{
long int trim = (long int) rde_stack_top (p->mark);
ENTER ("rde_param_i_ast_rewind");
TRACE (("RDE_PARAM %p",p));
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
TRACE (("SV = (%p rc%d '%s')",
p->SV,
p->SV ? p->SV->refCount : -1,
p->SV ? Tcl_GetString (p->SV) : ""));
RETURNVOID;
@@ -795,11 +795,11 @@
rde_param_i_error_clear (RDE_PARAM p)
{
ER_CLEAR (p);
}
SCOPE void
- rde_param_i_error_nonterminal (RDE_PARAM p, int s)
+ rde_param_i_error_nonterminal (RDE_PARAM p, long int s)
{
return;
long int pos;
if (!p->ER) return;
@@ -851,11 +851,11 @@
{
rde_stack_push (p->ES, p->ER);
if (p->ER) { p->ER->refCount ++; }
}
static void
- error_set (RDE_PARAM p, int s)
+ error_set (RDE_PARAM p, long int s)
{
error_state_free (p->ER);
p->ER = ALLOC (ERROR_STATE);
p->ER->refCount = 1;
p->ER->loc = p->CL;
@@ -893,11 +893,11 @@
rde_param_i_loc_rewind (RDE_PARAM p)
{
p->CL = (long int) rde_stack_top (p->LS);
}
SCOPE void
- rde_param_i_input_next (RDE_PARAM p, int m)
+ rde_param_i_input_next (RDE_PARAM p, long int m)
{
int leni;
char* ch;
ASSERT_BOUNDS(m,p->numstr);
p->CL ++;
@@ -939,11 +939,11 @@
rde_param_i_status_negate (RDE_PARAM p)
{
p->ST = !p->ST;
}
SCOPE int
- rde_param_i_symbol_restore (RDE_PARAM p, int s)
+ rde_param_i_symbol_restore (RDE_PARAM p, long int s)
{
NC_STATE* scs;
Tcl_HashEntry* hPtr;
Tcl_HashTable* tablePtr;
@@ -962,11 +962,11 @@
TRACE (("SV_RESTORE (%p) '%s'",scs->SV, scs->SV ? Tcl_GetString (scs->SV):""));
SV_SET (p, scs->SV);
return 1;
}
SCOPE void
- rde_param_i_symbol_save (RDE_PARAM p, int s)
+ rde_param_i_symbol_save (RDE_PARAM p, long int s)
{
long int at = (long int) rde_stack_top (p->LS);
NC_STATE* scs;
Tcl_HashEntry* hPtr;
Tcl_HashTable* tablePtr;
@@ -1033,11 +1033,11 @@
rde_param_i_test_control (RDE_PARAM p)
{
test_class (p, Tcl_UniCharIsControl, tc_control);
}
SCOPE void
- rde_param_i_test_char (RDE_PARAM p, const char* c, int msg)
+ rde_param_i_test_char (RDE_PARAM p, const char* c, long int msg)
{
ASSERT_BOUNDS(msg,p->numstr);
p->ST = Tcl_UtfNcmp (p->CC, c, 1) == 0;
if (p->ST) {
ER_CLEAR (p);
@@ -1075,11 +1075,11 @@
rde_param_i_test_punct (RDE_PARAM p)
{
test_class (p, Tcl_UniCharIsPunct, tc_punct);
}
SCOPE void
- rde_param_i_test_range (RDE_PARAM p, char* s, char* e, int msg)
+ rde_param_i_test_range (RDE_PARAM p, const char* s, const char* e, long int msg)
{
ASSERT_BOUNDS(msg,p->numstr);
p->ST =
(Tcl_UtfNcmp (s, p->CC, 1) <= 0) &&
(Tcl_UtfNcmp (p->CC, e, 1) <= 0);
@@ -1144,11 +1144,11 @@
rde_param_i_value_clear (RDE_PARAM p)
{
SV_CLEAR (p);
}
SCOPE void
- rde_param_i_value_leaf (RDE_PARAM p, int s)
+ rde_param_i_value_leaf (RDE_PARAM p, long int s)
{
Tcl_Obj* newsv;
Tcl_Obj* ov [3];
long int pos = 1 + (long int) rde_stack_top (p->LS);
ASSERT_BOUNDS(s,p->numstr);
@@ -1158,11 +1158,11 @@
newsv = Tcl_NewListObj (3, ov);
TRACE (("rde_param_i_value_leaf => '%s'",Tcl_GetString (newsv)));
SV_SET (p, newsv);
}
SCOPE void
- rde_param_i_value_reduce (RDE_PARAM p, int s)
+ rde_param_i_value_reduce (RDE_PARAM p, long int s)
{
Tcl_Obj* newsv;
int oc, i, j;
Tcl_Obj** ov;
long int ac;
@@ -1190,18 +1190,21 @@
ckfree ((char*) ov);
}
static int
er_int_compare (const void* a, const void* b)
{
- long int ai = *((long int*) a);
- long int bi = *((long int*) b);
- if (ai < bi) { return -1; }
- if (ai > bi) { return 1; }
+
+ const void** ael = (const void**) a;
+ const void** bel = (const void**) b;
+ long int avalue = (long int) *ael;
+ long int bvalue = (long int) *bel;
+ if (avalue < bvalue) { return -1; }
+ if (avalue > bvalue) { return 1; }
return 0;
}
SCOPE int
- rde_param_i_symbol_start (RDE_PARAM p, int s)
+ rde_param_i_symbol_start (RDE_PARAM p, long int s)
{
if (rde_param_i_symbol_restore (p, s)) {
if (p->ST) {
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
@@ -1210,11 +1213,11 @@
}
rde_stack_push (p->LS, (void*) p->CL);
return 0;
}
SCOPE int
- rde_param_i_symbol_start_d (RDE_PARAM p, int s)
+ rde_param_i_symbol_start_d (RDE_PARAM p, long int s)
{
if (rde_param_i_symbol_restore (p, s)) {
if (p->ST) {
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
@@ -1224,26 +1227,26 @@
rde_stack_push (p->LS, (void*) p->CL);
rde_stack_push (p->mark, (void*) rde_stack_size (p->ast));
return 0;
}
SCOPE int
- rde_param_i_symbol_void_start (RDE_PARAM p, int s)
+ rde_param_i_symbol_void_start (RDE_PARAM p, long int s)
{
if (rde_param_i_symbol_restore (p, s)) return 1;
rde_stack_push (p->LS, (void*) p->CL);
return 0;
}
SCOPE int
- rde_param_i_symbol_void_start_d (RDE_PARAM p, int s)
+ rde_param_i_symbol_void_start_d (RDE_PARAM p, long int s)
{
if (rde_param_i_symbol_restore (p, s)) return 1;
rde_stack_push (p->LS, (void*) p->CL);
rde_stack_push (p->mark, (void*) rde_stack_size (p->ast));
return 0;
}
SCOPE void
- rde_param_i_symbol_done_d_reduce (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_d_reduce (RDE_PARAM p, long int s, long int m)
{
if (p->ST) {
rde_param_i_value_reduce (p, s);
} else {
SV_CLEAR (p);
@@ -1256,11 +1259,11 @@
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
}
}
SCOPE void
- rde_param_i_symbol_done_leaf (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_leaf (RDE_PARAM p, long int s, long int m)
{
if (p->ST) {
rde_param_i_value_leaf (p, s);
} else {
SV_CLEAR (p);
@@ -1272,11 +1275,11 @@
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
}
}
SCOPE void
- rde_param_i_symbol_done_d_leaf (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_d_leaf (RDE_PARAM p, long int s, long int m)
{
if (p->ST) {
rde_param_i_value_leaf (p, s);
} else {
SV_CLEAR (p);
@@ -1289,133 +1292,133 @@
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
}
}
SCOPE void
- rde_param_i_symbol_done_void (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_void (RDE_PARAM p, long int s, long int m)
{
SV_CLEAR (p);
rde_param_i_symbol_save (p, s);
rde_param_i_error_nonterminal (p, m);
rde_stack_pop (p->LS, 1);
}
SCOPE void
- rde_param_i_symbol_done_d_void (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_d_void (RDE_PARAM p, long int s, long int m)
{
SV_CLEAR (p);
rde_param_i_symbol_save (p, s);
rde_param_i_error_nonterminal (p, m);
rde_param_i_ast_pop_rewind (p);
rde_stack_pop (p->LS, 1);
}
SCOPE void
- rde_param_i_next_char (RDE_PARAM p, char* c, int m)
+ rde_param_i_next_char (RDE_PARAM p, const char* c, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_char (p, c, m);
}
SCOPE void
- rde_param_i_next_range (RDE_PARAM p, char* s, char* e, int m)
+ rde_param_i_next_range (RDE_PARAM p, const char* s, const char* e, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_range (p, s, e, m);
}
SCOPE void
- rde_param_i_next_alnum (RDE_PARAM p, int m)
+ rde_param_i_next_alnum (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_alnum (p);
}
SCOPE void
- rde_param_i_next_alpha (RDE_PARAM p, int m)
+ rde_param_i_next_alpha (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_alpha (p);
}
SCOPE void
- rde_param_i_next_ascii (RDE_PARAM p, int m)
+ rde_param_i_next_ascii (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_ascii (p);
}
SCOPE void
- rde_param_i_next_control (RDE_PARAM p, int m)
+ rde_param_i_next_control (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_control (p);
}
SCOPE void
- rde_param_i_next_ddigit (RDE_PARAM p, int m)
+ rde_param_i_next_ddigit (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_ddigit (p);
}
SCOPE void
- rde_param_i_next_digit (RDE_PARAM p, int m)
+ rde_param_i_next_digit (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_digit (p);
}
SCOPE void
- rde_param_i_next_graph (RDE_PARAM p, int m)
+ rde_param_i_next_graph (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_graph (p);
}
SCOPE void
- rde_param_i_next_lower (RDE_PARAM p, int m)
+ rde_param_i_next_lower (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_lower (p);
}
SCOPE void
- rde_param_i_next_print (RDE_PARAM p, int m)
+ rde_param_i_next_print (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_print (p);
}
SCOPE void
- rde_param_i_next_punct (RDE_PARAM p, int m)
+ rde_param_i_next_punct (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_punct (p);
}
SCOPE void
- rde_param_i_next_space (RDE_PARAM p, int m)
+ rde_param_i_next_space (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_space (p);
}
SCOPE void
- rde_param_i_next_upper (RDE_PARAM p, int m)
+ rde_param_i_next_upper (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_upper (p);
}
SCOPE void
- rde_param_i_next_wordchar (RDE_PARAM p, int m)
+ rde_param_i_next_wordchar (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_wordchar (p);
}
SCOPE void
- rde_param_i_next_xdigit (RDE_PARAM p, int m)
+ rde_param_i_next_xdigit (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_xdigit (p);
}
@@ -1492,11 +1495,11 @@
rde_param_i_state_merge_value (RDE_PARAM p)
{
rde_param_i_error_pop_merge (p);
if (!p->ST) {
long int trim = (long int) rde_stack_top (p->mark);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
p->CL = (long int) rde_stack_top (p->LS);
}
rde_stack_pop (p->mark, 1);
rde_stack_pop (p->LS, 1);
}
@@ -1560,11 +1563,11 @@
if (p->ER) { p->ER->refCount ++; }
return 0;
} else {
long int trim = (long int) rde_stack_top (p->mark);
rde_stack_pop (p->mark, 1);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
p->CL = (long int) rde_stack_top (p->LS);
rde_stack_pop (p->LS, 1);
return 1;
}
}
@@ -1603,11 +1606,11 @@
rde_stack_pop (p->mark, 1);
rde_stack_pop (p->LS, 1);
} else {
long int trim = (long int) rde_stack_top (p->mark);
rde_stack_pop (p->mark, 1);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
p->CL = (long int) rde_stack_top (p->LS);
rde_stack_push (p->ES, p->ER);
if (p->ER) { p->ER->refCount ++; }
}
return p->ST;
@@ -1619,19 +1622,19 @@
if (p->ST) {
rde_stack_pop (p->mark, 1);
rde_stack_pop (p->LS, 1);
} else {
long int trim = (long int) rde_stack_top (p->mark);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
p->CL = (long int) rde_stack_top (p->LS);
rde_stack_push (p->ES, p->ER);
if (p->ER) { p->ER->refCount ++; }
}
return p->ST;
}
SCOPE void
- rde_param_i_next_str (RDE_PARAM p, const char* str, int m)
+ rde_param_i_next_str (RDE_PARAM p, const char* str, long int m)
{
int at = p->CL;
while (*str) {
rde_param_i_input_next (p, m);
@@ -1648,11 +1651,11 @@
}
str = Tcl_UtfNext (str);
}
}
SCOPE void
- rde_param_i_next_class (RDE_PARAM p, const char* class, int m)
+ rde_param_i_next_class (RDE_PARAM p, const char* class, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
while (*class) {
p->ST = Tcl_UtfNcmp (p->CC, class, 1) == 0;
@@ -1732,11 +1735,11 @@
Tcl_SetAssocData (interp, KEY, proc,
(ClientData) parserg);
}
parserg->counter ++;
- sprintf (parserg->buf, "PARSER%d", parserg->counter);
+ sprintf (parserg->buf, "PARSER%ld", parserg->counter);
return parserg->buf;
#undef KEY
}
static void
Index: modules/pt/tests/data/ok/peg_cparam-tea/5_sequence
==================================================================
--- modules/pt/tests/data/ok/peg_cparam-tea/5_sequence
+++ modules/pt/tests/data/ok/peg_cparam-tea/5_sequence
@@ -384,18 +384,18 @@
}
SCOPE void
rde_tc_get (RDE_TC tc, int at, char** ch, long int* len)
{
long int oc, off, top, end;
- long int* ov;
- rde_stack_get (tc->off, &oc, (void***) &ov);
+ void** ov;
+ rde_stack_get (tc->off, &oc, &ov);
ASSERT_BOUNDS(at,oc);
- off = ov [at];
+ off = (long int) ov [at];
if ((at+1) == oc) {
end = tc->num;
} else {
- end = ov [at+1];
+ end = (long int) ov [at+1];
}
TRACE (("rde_tc_get (RDE_TC %p, @ %d) => %d.[%d ... %d]/%d",tc,at,end-off,off,end-1,tc->num));
ASSERT_BOUNDS(off,tc->num);
ASSERT_BOUNDS(end-1,tc->num);
*ch = tc->str + off;
@@ -403,19 +403,19 @@
}
SCOPE void
rde_tc_get_s (RDE_TC tc, int at, int last, char** ch, long int* len)
{
long int oc, off, top, end;
- long int* ov;
- rde_stack_get (tc->off, &oc, (void***) &ov);
+ void** ov;
+ rde_stack_get (tc->off, &oc, &ov);
ASSERT_BOUNDS(at,oc);
ASSERT_BOUNDS(last,oc);
- off = ov [at];
+ off = (long int) ov [at];
if ((last+1) == oc) {
end = tc->num;
} else {
- end = ov [last+1];
+ end = (long int) ov [last+1];
}
TRACE (("rde_tc_get_s (RDE_TC %p, @ %d .. %d) => %d.[%d ... %d]/%d",tc,at,last,end-off,off,end-1,tc->num));
ASSERT_BOUNDS(off,tc->num);
ASSERT_BOUNDS(end-1,tc->num);
*ch = tc->str + off;
@@ -464,11 +464,11 @@
tc_wordchar,
tc_xdigit
} test_class_id;
static void ast_node_free (void* n);
static void error_state_free (void* es);
- static void error_set (RDE_PARAM p, int s);
+ static void error_set (RDE_PARAM p, long int s);
static void nc_clear (RDE_PARAM p);
static int UniCharIsAscii (int character);
static int UniCharIsHexDigit (int character);
static int UniCharIsDecDigit (int character);
static void test_class (RDE_PARAM p, UniCharClass class, test_class_id id);
@@ -617,13 +617,13 @@
rde_param_query_clientdata (RDE_PARAM p)
{
return p->clientData;
}
SCOPE void
- rde_param_query_amark (RDE_PARAM p, long int* mc, long int** mv)
+ rde_param_query_amark (RDE_PARAM p, long int* mc, void*** mv)
{
- rde_stack_get (p->mark, mc, (void***) mv);
+ rde_stack_get (p->mark, mc, mv);
}
SCOPE void
rde_param_query_ast (RDE_PARAM p, long int* ac, Tcl_Obj*** av)
{
rde_stack_get (p->ast, ac, (void***) av);
@@ -660,25 +660,25 @@
res = Tcl_NewStringObj ("", 0);
} else {
Tcl_Obj* ov [2];
Tcl_Obj** mov;
long int mc, i, j;
- long int* mv;
+ void** mv;
int lastid;
const char* msg;
- rde_stack_get (er->msg, &mc, (void***) &mv);
+ rde_stack_get (er->msg, &mc, &mv);
- qsort (mv, mc, sizeof (long int), er_int_compare);
+ qsort (mv, mc, sizeof (void*), er_int_compare);
mov = NALLOC (mc, Tcl_Obj*);
lastid = -1;
for (i=0, j=0; i < mc; i++) {
ASSERT_BOUNDS (i,mc);
- if (mv [i] == lastid) continue;
- lastid = mv [i];
- ASSERT_BOUNDS(mv[i],p->numstr);
- msg = p->string [mv[i]];
+ if (((long int) mv [i]) == lastid) continue;
+ lastid = (long int) mv [i];
+ ASSERT_BOUNDS((long int) mv[i],p->numstr);
+ msg = p->string [(long int) mv[i]];
ASSERT_BOUNDS (j,mc);
mov [j] = Tcl_NewStringObj (msg, -1);
j++;
}
@@ -747,11 +747,11 @@
{
long int trim = (long int) rde_stack_top (p->mark);
ENTER ("rde_param_i_ast_pop_rewind");
TRACE (("RDE_PARAM %p",p));
rde_stack_pop (p->mark, 1);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
TRACE (("SV = (%p rc%d '%s')",
p->SV,
p->SV ? p->SV->refCount : -1,
p->SV ? Tcl_GetString (p->SV) : ""));
RETURNVOID;
@@ -760,11 +760,11 @@
rde_param_i_ast_rewind (RDE_PARAM p)
{
long int trim = (long int) rde_stack_top (p->mark);
ENTER ("rde_param_i_ast_rewind");
TRACE (("RDE_PARAM %p",p));
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
TRACE (("SV = (%p rc%d '%s')",
p->SV,
p->SV ? p->SV->refCount : -1,
p->SV ? Tcl_GetString (p->SV) : ""));
RETURNVOID;
@@ -795,11 +795,11 @@
rde_param_i_error_clear (RDE_PARAM p)
{
ER_CLEAR (p);
}
SCOPE void
- rde_param_i_error_nonterminal (RDE_PARAM p, int s)
+ rde_param_i_error_nonterminal (RDE_PARAM p, long int s)
{
return;
long int pos;
if (!p->ER) return;
@@ -851,11 +851,11 @@
{
rde_stack_push (p->ES, p->ER);
if (p->ER) { p->ER->refCount ++; }
}
static void
- error_set (RDE_PARAM p, int s)
+ error_set (RDE_PARAM p, long int s)
{
error_state_free (p->ER);
p->ER = ALLOC (ERROR_STATE);
p->ER->refCount = 1;
p->ER->loc = p->CL;
@@ -893,11 +893,11 @@
rde_param_i_loc_rewind (RDE_PARAM p)
{
p->CL = (long int) rde_stack_top (p->LS);
}
SCOPE void
- rde_param_i_input_next (RDE_PARAM p, int m)
+ rde_param_i_input_next (RDE_PARAM p, long int m)
{
int leni;
char* ch;
ASSERT_BOUNDS(m,p->numstr);
p->CL ++;
@@ -939,11 +939,11 @@
rde_param_i_status_negate (RDE_PARAM p)
{
p->ST = !p->ST;
}
SCOPE int
- rde_param_i_symbol_restore (RDE_PARAM p, int s)
+ rde_param_i_symbol_restore (RDE_PARAM p, long int s)
{
NC_STATE* scs;
Tcl_HashEntry* hPtr;
Tcl_HashTable* tablePtr;
@@ -962,11 +962,11 @@
TRACE (("SV_RESTORE (%p) '%s'",scs->SV, scs->SV ? Tcl_GetString (scs->SV):""));
SV_SET (p, scs->SV);
return 1;
}
SCOPE void
- rde_param_i_symbol_save (RDE_PARAM p, int s)
+ rde_param_i_symbol_save (RDE_PARAM p, long int s)
{
long int at = (long int) rde_stack_top (p->LS);
NC_STATE* scs;
Tcl_HashEntry* hPtr;
Tcl_HashTable* tablePtr;
@@ -1033,11 +1033,11 @@
rde_param_i_test_control (RDE_PARAM p)
{
test_class (p, Tcl_UniCharIsControl, tc_control);
}
SCOPE void
- rde_param_i_test_char (RDE_PARAM p, const char* c, int msg)
+ rde_param_i_test_char (RDE_PARAM p, const char* c, long int msg)
{
ASSERT_BOUNDS(msg,p->numstr);
p->ST = Tcl_UtfNcmp (p->CC, c, 1) == 0;
if (p->ST) {
ER_CLEAR (p);
@@ -1075,11 +1075,11 @@
rde_param_i_test_punct (RDE_PARAM p)
{
test_class (p, Tcl_UniCharIsPunct, tc_punct);
}
SCOPE void
- rde_param_i_test_range (RDE_PARAM p, char* s, char* e, int msg)
+ rde_param_i_test_range (RDE_PARAM p, const char* s, const char* e, long int msg)
{
ASSERT_BOUNDS(msg,p->numstr);
p->ST =
(Tcl_UtfNcmp (s, p->CC, 1) <= 0) &&
(Tcl_UtfNcmp (p->CC, e, 1) <= 0);
@@ -1144,11 +1144,11 @@
rde_param_i_value_clear (RDE_PARAM p)
{
SV_CLEAR (p);
}
SCOPE void
- rde_param_i_value_leaf (RDE_PARAM p, int s)
+ rde_param_i_value_leaf (RDE_PARAM p, long int s)
{
Tcl_Obj* newsv;
Tcl_Obj* ov [3];
long int pos = 1 + (long int) rde_stack_top (p->LS);
ASSERT_BOUNDS(s,p->numstr);
@@ -1158,11 +1158,11 @@
newsv = Tcl_NewListObj (3, ov);
TRACE (("rde_param_i_value_leaf => '%s'",Tcl_GetString (newsv)));
SV_SET (p, newsv);
}
SCOPE void
- rde_param_i_value_reduce (RDE_PARAM p, int s)
+ rde_param_i_value_reduce (RDE_PARAM p, long int s)
{
Tcl_Obj* newsv;
int oc, i, j;
Tcl_Obj** ov;
long int ac;
@@ -1190,18 +1190,21 @@
ckfree ((char*) ov);
}
static int
er_int_compare (const void* a, const void* b)
{
- long int ai = *((long int*) a);
- long int bi = *((long int*) b);
- if (ai < bi) { return -1; }
- if (ai > bi) { return 1; }
+
+ const void** ael = (const void**) a;
+ const void** bel = (const void**) b;
+ long int avalue = (long int) *ael;
+ long int bvalue = (long int) *bel;
+ if (avalue < bvalue) { return -1; }
+ if (avalue > bvalue) { return 1; }
return 0;
}
SCOPE int
- rde_param_i_symbol_start (RDE_PARAM p, int s)
+ rde_param_i_symbol_start (RDE_PARAM p, long int s)
{
if (rde_param_i_symbol_restore (p, s)) {
if (p->ST) {
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
@@ -1210,11 +1213,11 @@
}
rde_stack_push (p->LS, (void*) p->CL);
return 0;
}
SCOPE int
- rde_param_i_symbol_start_d (RDE_PARAM p, int s)
+ rde_param_i_symbol_start_d (RDE_PARAM p, long int s)
{
if (rde_param_i_symbol_restore (p, s)) {
if (p->ST) {
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
@@ -1224,26 +1227,26 @@
rde_stack_push (p->LS, (void*) p->CL);
rde_stack_push (p->mark, (void*) rde_stack_size (p->ast));
return 0;
}
SCOPE int
- rde_param_i_symbol_void_start (RDE_PARAM p, int s)
+ rde_param_i_symbol_void_start (RDE_PARAM p, long int s)
{
if (rde_param_i_symbol_restore (p, s)) return 1;
rde_stack_push (p->LS, (void*) p->CL);
return 0;
}
SCOPE int
- rde_param_i_symbol_void_start_d (RDE_PARAM p, int s)
+ rde_param_i_symbol_void_start_d (RDE_PARAM p, long int s)
{
if (rde_param_i_symbol_restore (p, s)) return 1;
rde_stack_push (p->LS, (void*) p->CL);
rde_stack_push (p->mark, (void*) rde_stack_size (p->ast));
return 0;
}
SCOPE void
- rde_param_i_symbol_done_d_reduce (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_d_reduce (RDE_PARAM p, long int s, long int m)
{
if (p->ST) {
rde_param_i_value_reduce (p, s);
} else {
SV_CLEAR (p);
@@ -1256,11 +1259,11 @@
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
}
}
SCOPE void
- rde_param_i_symbol_done_leaf (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_leaf (RDE_PARAM p, long int s, long int m)
{
if (p->ST) {
rde_param_i_value_leaf (p, s);
} else {
SV_CLEAR (p);
@@ -1272,11 +1275,11 @@
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
}
}
SCOPE void
- rde_param_i_symbol_done_d_leaf (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_d_leaf (RDE_PARAM p, long int s, long int m)
{
if (p->ST) {
rde_param_i_value_leaf (p, s);
} else {
SV_CLEAR (p);
@@ -1289,133 +1292,133 @@
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
}
}
SCOPE void
- rde_param_i_symbol_done_void (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_void (RDE_PARAM p, long int s, long int m)
{
SV_CLEAR (p);
rde_param_i_symbol_save (p, s);
rde_param_i_error_nonterminal (p, m);
rde_stack_pop (p->LS, 1);
}
SCOPE void
- rde_param_i_symbol_done_d_void (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_d_void (RDE_PARAM p, long int s, long int m)
{
SV_CLEAR (p);
rde_param_i_symbol_save (p, s);
rde_param_i_error_nonterminal (p, m);
rde_param_i_ast_pop_rewind (p);
rde_stack_pop (p->LS, 1);
}
SCOPE void
- rde_param_i_next_char (RDE_PARAM p, char* c, int m)
+ rde_param_i_next_char (RDE_PARAM p, const char* c, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_char (p, c, m);
}
SCOPE void
- rde_param_i_next_range (RDE_PARAM p, char* s, char* e, int m)
+ rde_param_i_next_range (RDE_PARAM p, const char* s, const char* e, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_range (p, s, e, m);
}
SCOPE void
- rde_param_i_next_alnum (RDE_PARAM p, int m)
+ rde_param_i_next_alnum (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_alnum (p);
}
SCOPE void
- rde_param_i_next_alpha (RDE_PARAM p, int m)
+ rde_param_i_next_alpha (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_alpha (p);
}
SCOPE void
- rde_param_i_next_ascii (RDE_PARAM p, int m)
+ rde_param_i_next_ascii (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_ascii (p);
}
SCOPE void
- rde_param_i_next_control (RDE_PARAM p, int m)
+ rde_param_i_next_control (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_control (p);
}
SCOPE void
- rde_param_i_next_ddigit (RDE_PARAM p, int m)
+ rde_param_i_next_ddigit (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_ddigit (p);
}
SCOPE void
- rde_param_i_next_digit (RDE_PARAM p, int m)
+ rde_param_i_next_digit (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_digit (p);
}
SCOPE void
- rde_param_i_next_graph (RDE_PARAM p, int m)
+ rde_param_i_next_graph (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_graph (p);
}
SCOPE void
- rde_param_i_next_lower (RDE_PARAM p, int m)
+ rde_param_i_next_lower (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_lower (p);
}
SCOPE void
- rde_param_i_next_print (RDE_PARAM p, int m)
+ rde_param_i_next_print (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_print (p);
}
SCOPE void
- rde_param_i_next_punct (RDE_PARAM p, int m)
+ rde_param_i_next_punct (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_punct (p);
}
SCOPE void
- rde_param_i_next_space (RDE_PARAM p, int m)
+ rde_param_i_next_space (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_space (p);
}
SCOPE void
- rde_param_i_next_upper (RDE_PARAM p, int m)
+ rde_param_i_next_upper (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_upper (p);
}
SCOPE void
- rde_param_i_next_wordchar (RDE_PARAM p, int m)
+ rde_param_i_next_wordchar (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_wordchar (p);
}
SCOPE void
- rde_param_i_next_xdigit (RDE_PARAM p, int m)
+ rde_param_i_next_xdigit (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_xdigit (p);
}
@@ -1492,11 +1495,11 @@
rde_param_i_state_merge_value (RDE_PARAM p)
{
rde_param_i_error_pop_merge (p);
if (!p->ST) {
long int trim = (long int) rde_stack_top (p->mark);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
p->CL = (long int) rde_stack_top (p->LS);
}
rde_stack_pop (p->mark, 1);
rde_stack_pop (p->LS, 1);
}
@@ -1560,11 +1563,11 @@
if (p->ER) { p->ER->refCount ++; }
return 0;
} else {
long int trim = (long int) rde_stack_top (p->mark);
rde_stack_pop (p->mark, 1);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
p->CL = (long int) rde_stack_top (p->LS);
rde_stack_pop (p->LS, 1);
return 1;
}
}
@@ -1603,11 +1606,11 @@
rde_stack_pop (p->mark, 1);
rde_stack_pop (p->LS, 1);
} else {
long int trim = (long int) rde_stack_top (p->mark);
rde_stack_pop (p->mark, 1);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
p->CL = (long int) rde_stack_top (p->LS);
rde_stack_push (p->ES, p->ER);
if (p->ER) { p->ER->refCount ++; }
}
return p->ST;
@@ -1619,19 +1622,19 @@
if (p->ST) {
rde_stack_pop (p->mark, 1);
rde_stack_pop (p->LS, 1);
} else {
long int trim = (long int) rde_stack_top (p->mark);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
p->CL = (long int) rde_stack_top (p->LS);
rde_stack_push (p->ES, p->ER);
if (p->ER) { p->ER->refCount ++; }
}
return p->ST;
}
SCOPE void
- rde_param_i_next_str (RDE_PARAM p, const char* str, int m)
+ rde_param_i_next_str (RDE_PARAM p, const char* str, long int m)
{
int at = p->CL;
while (*str) {
rde_param_i_input_next (p, m);
@@ -1648,11 +1651,11 @@
}
str = Tcl_UtfNext (str);
}
}
SCOPE void
- rde_param_i_next_class (RDE_PARAM p, const char* class, int m)
+ rde_param_i_next_class (RDE_PARAM p, const char* class, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
while (*class) {
p->ST = Tcl_UtfNcmp (p->CC, class, 1) == 0;
@@ -1732,11 +1735,11 @@
Tcl_SetAssocData (interp, KEY, proc,
(ClientData) parserg);
}
parserg->counter ++;
- sprintf (parserg->buf, "PARSER%d", parserg->counter);
+ sprintf (parserg->buf, "PARSER%ld", parserg->counter);
return parserg->buf;
#undef KEY
}
static void
Index: modules/pt/tests/data/ok/peg_cparam-tea/6_optional
==================================================================
--- modules/pt/tests/data/ok/peg_cparam-tea/6_optional
+++ modules/pt/tests/data/ok/peg_cparam-tea/6_optional
@@ -384,18 +384,18 @@
}
SCOPE void
rde_tc_get (RDE_TC tc, int at, char** ch, long int* len)
{
long int oc, off, top, end;
- long int* ov;
- rde_stack_get (tc->off, &oc, (void***) &ov);
+ void** ov;
+ rde_stack_get (tc->off, &oc, &ov);
ASSERT_BOUNDS(at,oc);
- off = ov [at];
+ off = (long int) ov [at];
if ((at+1) == oc) {
end = tc->num;
} else {
- end = ov [at+1];
+ end = (long int) ov [at+1];
}
TRACE (("rde_tc_get (RDE_TC %p, @ %d) => %d.[%d ... %d]/%d",tc,at,end-off,off,end-1,tc->num));
ASSERT_BOUNDS(off,tc->num);
ASSERT_BOUNDS(end-1,tc->num);
*ch = tc->str + off;
@@ -403,19 +403,19 @@
}
SCOPE void
rde_tc_get_s (RDE_TC tc, int at, int last, char** ch, long int* len)
{
long int oc, off, top, end;
- long int* ov;
- rde_stack_get (tc->off, &oc, (void***) &ov);
+ void** ov;
+ rde_stack_get (tc->off, &oc, &ov);
ASSERT_BOUNDS(at,oc);
ASSERT_BOUNDS(last,oc);
- off = ov [at];
+ off = (long int) ov [at];
if ((last+1) == oc) {
end = tc->num;
} else {
- end = ov [last+1];
+ end = (long int) ov [last+1];
}
TRACE (("rde_tc_get_s (RDE_TC %p, @ %d .. %d) => %d.[%d ... %d]/%d",tc,at,last,end-off,off,end-1,tc->num));
ASSERT_BOUNDS(off,tc->num);
ASSERT_BOUNDS(end-1,tc->num);
*ch = tc->str + off;
@@ -464,11 +464,11 @@
tc_wordchar,
tc_xdigit
} test_class_id;
static void ast_node_free (void* n);
static void error_state_free (void* es);
- static void error_set (RDE_PARAM p, int s);
+ static void error_set (RDE_PARAM p, long int s);
static void nc_clear (RDE_PARAM p);
static int UniCharIsAscii (int character);
static int UniCharIsHexDigit (int character);
static int UniCharIsDecDigit (int character);
static void test_class (RDE_PARAM p, UniCharClass class, test_class_id id);
@@ -617,13 +617,13 @@
rde_param_query_clientdata (RDE_PARAM p)
{
return p->clientData;
}
SCOPE void
- rde_param_query_amark (RDE_PARAM p, long int* mc, long int** mv)
+ rde_param_query_amark (RDE_PARAM p, long int* mc, void*** mv)
{
- rde_stack_get (p->mark, mc, (void***) mv);
+ rde_stack_get (p->mark, mc, mv);
}
SCOPE void
rde_param_query_ast (RDE_PARAM p, long int* ac, Tcl_Obj*** av)
{
rde_stack_get (p->ast, ac, (void***) av);
@@ -660,25 +660,25 @@
res = Tcl_NewStringObj ("", 0);
} else {
Tcl_Obj* ov [2];
Tcl_Obj** mov;
long int mc, i, j;
- long int* mv;
+ void** mv;
int lastid;
const char* msg;
- rde_stack_get (er->msg, &mc, (void***) &mv);
+ rde_stack_get (er->msg, &mc, &mv);
- qsort (mv, mc, sizeof (long int), er_int_compare);
+ qsort (mv, mc, sizeof (void*), er_int_compare);
mov = NALLOC (mc, Tcl_Obj*);
lastid = -1;
for (i=0, j=0; i < mc; i++) {
ASSERT_BOUNDS (i,mc);
- if (mv [i] == lastid) continue;
- lastid = mv [i];
- ASSERT_BOUNDS(mv[i],p->numstr);
- msg = p->string [mv[i]];
+ if (((long int) mv [i]) == lastid) continue;
+ lastid = (long int) mv [i];
+ ASSERT_BOUNDS((long int) mv[i],p->numstr);
+ msg = p->string [(long int) mv[i]];
ASSERT_BOUNDS (j,mc);
mov [j] = Tcl_NewStringObj (msg, -1);
j++;
}
@@ -747,11 +747,11 @@
{
long int trim = (long int) rde_stack_top (p->mark);
ENTER ("rde_param_i_ast_pop_rewind");
TRACE (("RDE_PARAM %p",p));
rde_stack_pop (p->mark, 1);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
TRACE (("SV = (%p rc%d '%s')",
p->SV,
p->SV ? p->SV->refCount : -1,
p->SV ? Tcl_GetString (p->SV) : ""));
RETURNVOID;
@@ -760,11 +760,11 @@
rde_param_i_ast_rewind (RDE_PARAM p)
{
long int trim = (long int) rde_stack_top (p->mark);
ENTER ("rde_param_i_ast_rewind");
TRACE (("RDE_PARAM %p",p));
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
TRACE (("SV = (%p rc%d '%s')",
p->SV,
p->SV ? p->SV->refCount : -1,
p->SV ? Tcl_GetString (p->SV) : ""));
RETURNVOID;
@@ -795,11 +795,11 @@
rde_param_i_error_clear (RDE_PARAM p)
{
ER_CLEAR (p);
}
SCOPE void
- rde_param_i_error_nonterminal (RDE_PARAM p, int s)
+ rde_param_i_error_nonterminal (RDE_PARAM p, long int s)
{
return;
long int pos;
if (!p->ER) return;
@@ -851,11 +851,11 @@
{
rde_stack_push (p->ES, p->ER);
if (p->ER) { p->ER->refCount ++; }
}
static void
- error_set (RDE_PARAM p, int s)
+ error_set (RDE_PARAM p, long int s)
{
error_state_free (p->ER);
p->ER = ALLOC (ERROR_STATE);
p->ER->refCount = 1;
p->ER->loc = p->CL;
@@ -893,11 +893,11 @@
rde_param_i_loc_rewind (RDE_PARAM p)
{
p->CL = (long int) rde_stack_top (p->LS);
}
SCOPE void
- rde_param_i_input_next (RDE_PARAM p, int m)
+ rde_param_i_input_next (RDE_PARAM p, long int m)
{
int leni;
char* ch;
ASSERT_BOUNDS(m,p->numstr);
p->CL ++;
@@ -939,11 +939,11 @@
rde_param_i_status_negate (RDE_PARAM p)
{
p->ST = !p->ST;
}
SCOPE int
- rde_param_i_symbol_restore (RDE_PARAM p, int s)
+ rde_param_i_symbol_restore (RDE_PARAM p, long int s)
{
NC_STATE* scs;
Tcl_HashEntry* hPtr;
Tcl_HashTable* tablePtr;
@@ -962,11 +962,11 @@
TRACE (("SV_RESTORE (%p) '%s'",scs->SV, scs->SV ? Tcl_GetString (scs->SV):""));
SV_SET (p, scs->SV);
return 1;
}
SCOPE void
- rde_param_i_symbol_save (RDE_PARAM p, int s)
+ rde_param_i_symbol_save (RDE_PARAM p, long int s)
{
long int at = (long int) rde_stack_top (p->LS);
NC_STATE* scs;
Tcl_HashEntry* hPtr;
Tcl_HashTable* tablePtr;
@@ -1033,11 +1033,11 @@
rde_param_i_test_control (RDE_PARAM p)
{
test_class (p, Tcl_UniCharIsControl, tc_control);
}
SCOPE void
- rde_param_i_test_char (RDE_PARAM p, const char* c, int msg)
+ rde_param_i_test_char (RDE_PARAM p, const char* c, long int msg)
{
ASSERT_BOUNDS(msg,p->numstr);
p->ST = Tcl_UtfNcmp (p->CC, c, 1) == 0;
if (p->ST) {
ER_CLEAR (p);
@@ -1075,11 +1075,11 @@
rde_param_i_test_punct (RDE_PARAM p)
{
test_class (p, Tcl_UniCharIsPunct, tc_punct);
}
SCOPE void
- rde_param_i_test_range (RDE_PARAM p, char* s, char* e, int msg)
+ rde_param_i_test_range (RDE_PARAM p, const char* s, const char* e, long int msg)
{
ASSERT_BOUNDS(msg,p->numstr);
p->ST =
(Tcl_UtfNcmp (s, p->CC, 1) <= 0) &&
(Tcl_UtfNcmp (p->CC, e, 1) <= 0);
@@ -1144,11 +1144,11 @@
rde_param_i_value_clear (RDE_PARAM p)
{
SV_CLEAR (p);
}
SCOPE void
- rde_param_i_value_leaf (RDE_PARAM p, int s)
+ rde_param_i_value_leaf (RDE_PARAM p, long int s)
{
Tcl_Obj* newsv;
Tcl_Obj* ov [3];
long int pos = 1 + (long int) rde_stack_top (p->LS);
ASSERT_BOUNDS(s,p->numstr);
@@ -1158,11 +1158,11 @@
newsv = Tcl_NewListObj (3, ov);
TRACE (("rde_param_i_value_leaf => '%s'",Tcl_GetString (newsv)));
SV_SET (p, newsv);
}
SCOPE void
- rde_param_i_value_reduce (RDE_PARAM p, int s)
+ rde_param_i_value_reduce (RDE_PARAM p, long int s)
{
Tcl_Obj* newsv;
int oc, i, j;
Tcl_Obj** ov;
long int ac;
@@ -1190,18 +1190,21 @@
ckfree ((char*) ov);
}
static int
er_int_compare (const void* a, const void* b)
{
- long int ai = *((long int*) a);
- long int bi = *((long int*) b);
- if (ai < bi) { return -1; }
- if (ai > bi) { return 1; }
+
+ const void** ael = (const void**) a;
+ const void** bel = (const void**) b;
+ long int avalue = (long int) *ael;
+ long int bvalue = (long int) *bel;
+ if (avalue < bvalue) { return -1; }
+ if (avalue > bvalue) { return 1; }
return 0;
}
SCOPE int
- rde_param_i_symbol_start (RDE_PARAM p, int s)
+ rde_param_i_symbol_start (RDE_PARAM p, long int s)
{
if (rde_param_i_symbol_restore (p, s)) {
if (p->ST) {
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
@@ -1210,11 +1213,11 @@
}
rde_stack_push (p->LS, (void*) p->CL);
return 0;
}
SCOPE int
- rde_param_i_symbol_start_d (RDE_PARAM p, int s)
+ rde_param_i_symbol_start_d (RDE_PARAM p, long int s)
{
if (rde_param_i_symbol_restore (p, s)) {
if (p->ST) {
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
@@ -1224,26 +1227,26 @@
rde_stack_push (p->LS, (void*) p->CL);
rde_stack_push (p->mark, (void*) rde_stack_size (p->ast));
return 0;
}
SCOPE int
- rde_param_i_symbol_void_start (RDE_PARAM p, int s)
+ rde_param_i_symbol_void_start (RDE_PARAM p, long int s)
{
if (rde_param_i_symbol_restore (p, s)) return 1;
rde_stack_push (p->LS, (void*) p->CL);
return 0;
}
SCOPE int
- rde_param_i_symbol_void_start_d (RDE_PARAM p, int s)
+ rde_param_i_symbol_void_start_d (RDE_PARAM p, long int s)
{
if (rde_param_i_symbol_restore (p, s)) return 1;
rde_stack_push (p->LS, (void*) p->CL);
rde_stack_push (p->mark, (void*) rde_stack_size (p->ast));
return 0;
}
SCOPE void
- rde_param_i_symbol_done_d_reduce (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_d_reduce (RDE_PARAM p, long int s, long int m)
{
if (p->ST) {
rde_param_i_value_reduce (p, s);
} else {
SV_CLEAR (p);
@@ -1256,11 +1259,11 @@
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
}
}
SCOPE void
- rde_param_i_symbol_done_leaf (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_leaf (RDE_PARAM p, long int s, long int m)
{
if (p->ST) {
rde_param_i_value_leaf (p, s);
} else {
SV_CLEAR (p);
@@ -1272,11 +1275,11 @@
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
}
}
SCOPE void
- rde_param_i_symbol_done_d_leaf (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_d_leaf (RDE_PARAM p, long int s, long int m)
{
if (p->ST) {
rde_param_i_value_leaf (p, s);
} else {
SV_CLEAR (p);
@@ -1289,133 +1292,133 @@
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
}
}
SCOPE void
- rde_param_i_symbol_done_void (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_void (RDE_PARAM p, long int s, long int m)
{
SV_CLEAR (p);
rde_param_i_symbol_save (p, s);
rde_param_i_error_nonterminal (p, m);
rde_stack_pop (p->LS, 1);
}
SCOPE void
- rde_param_i_symbol_done_d_void (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_d_void (RDE_PARAM p, long int s, long int m)
{
SV_CLEAR (p);
rde_param_i_symbol_save (p, s);
rde_param_i_error_nonterminal (p, m);
rde_param_i_ast_pop_rewind (p);
rde_stack_pop (p->LS, 1);
}
SCOPE void
- rde_param_i_next_char (RDE_PARAM p, char* c, int m)
+ rde_param_i_next_char (RDE_PARAM p, const char* c, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_char (p, c, m);
}
SCOPE void
- rde_param_i_next_range (RDE_PARAM p, char* s, char* e, int m)
+ rde_param_i_next_range (RDE_PARAM p, const char* s, const char* e, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_range (p, s, e, m);
}
SCOPE void
- rde_param_i_next_alnum (RDE_PARAM p, int m)
+ rde_param_i_next_alnum (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_alnum (p);
}
SCOPE void
- rde_param_i_next_alpha (RDE_PARAM p, int m)
+ rde_param_i_next_alpha (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_alpha (p);
}
SCOPE void
- rde_param_i_next_ascii (RDE_PARAM p, int m)
+ rde_param_i_next_ascii (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_ascii (p);
}
SCOPE void
- rde_param_i_next_control (RDE_PARAM p, int m)
+ rde_param_i_next_control (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_control (p);
}
SCOPE void
- rde_param_i_next_ddigit (RDE_PARAM p, int m)
+ rde_param_i_next_ddigit (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_ddigit (p);
}
SCOPE void
- rde_param_i_next_digit (RDE_PARAM p, int m)
+ rde_param_i_next_digit (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_digit (p);
}
SCOPE void
- rde_param_i_next_graph (RDE_PARAM p, int m)
+ rde_param_i_next_graph (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_graph (p);
}
SCOPE void
- rde_param_i_next_lower (RDE_PARAM p, int m)
+ rde_param_i_next_lower (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_lower (p);
}
SCOPE void
- rde_param_i_next_print (RDE_PARAM p, int m)
+ rde_param_i_next_print (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_print (p);
}
SCOPE void
- rde_param_i_next_punct (RDE_PARAM p, int m)
+ rde_param_i_next_punct (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_punct (p);
}
SCOPE void
- rde_param_i_next_space (RDE_PARAM p, int m)
+ rde_param_i_next_space (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_space (p);
}
SCOPE void
- rde_param_i_next_upper (RDE_PARAM p, int m)
+ rde_param_i_next_upper (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_upper (p);
}
SCOPE void
- rde_param_i_next_wordchar (RDE_PARAM p, int m)
+ rde_param_i_next_wordchar (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_wordchar (p);
}
SCOPE void
- rde_param_i_next_xdigit (RDE_PARAM p, int m)
+ rde_param_i_next_xdigit (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_xdigit (p);
}
@@ -1492,11 +1495,11 @@
rde_param_i_state_merge_value (RDE_PARAM p)
{
rde_param_i_error_pop_merge (p);
if (!p->ST) {
long int trim = (long int) rde_stack_top (p->mark);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
p->CL = (long int) rde_stack_top (p->LS);
}
rde_stack_pop (p->mark, 1);
rde_stack_pop (p->LS, 1);
}
@@ -1560,11 +1563,11 @@
if (p->ER) { p->ER->refCount ++; }
return 0;
} else {
long int trim = (long int) rde_stack_top (p->mark);
rde_stack_pop (p->mark, 1);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
p->CL = (long int) rde_stack_top (p->LS);
rde_stack_pop (p->LS, 1);
return 1;
}
}
@@ -1603,11 +1606,11 @@
rde_stack_pop (p->mark, 1);
rde_stack_pop (p->LS, 1);
} else {
long int trim = (long int) rde_stack_top (p->mark);
rde_stack_pop (p->mark, 1);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
p->CL = (long int) rde_stack_top (p->LS);
rde_stack_push (p->ES, p->ER);
if (p->ER) { p->ER->refCount ++; }
}
return p->ST;
@@ -1619,19 +1622,19 @@
if (p->ST) {
rde_stack_pop (p->mark, 1);
rde_stack_pop (p->LS, 1);
} else {
long int trim = (long int) rde_stack_top (p->mark);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
p->CL = (long int) rde_stack_top (p->LS);
rde_stack_push (p->ES, p->ER);
if (p->ER) { p->ER->refCount ++; }
}
return p->ST;
}
SCOPE void
- rde_param_i_next_str (RDE_PARAM p, const char* str, int m)
+ rde_param_i_next_str (RDE_PARAM p, const char* str, long int m)
{
int at = p->CL;
while (*str) {
rde_param_i_input_next (p, m);
@@ -1648,11 +1651,11 @@
}
str = Tcl_UtfNext (str);
}
}
SCOPE void
- rde_param_i_next_class (RDE_PARAM p, const char* class, int m)
+ rde_param_i_next_class (RDE_PARAM p, const char* class, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
while (*class) {
p->ST = Tcl_UtfNcmp (p->CC, class, 1) == 0;
@@ -1745,11 +1748,11 @@
Tcl_SetAssocData (interp, KEY, proc,
(ClientData) parserg);
}
parserg->counter ++;
- sprintf (parserg->buf, "PARSER%d", parserg->counter);
+ sprintf (parserg->buf, "PARSER%ld", parserg->counter);
return parserg->buf;
#undef KEY
}
static void
Index: modules/pt/tests/data/ok/peg_cparam-tea/7_kleene
==================================================================
--- modules/pt/tests/data/ok/peg_cparam-tea/7_kleene
+++ modules/pt/tests/data/ok/peg_cparam-tea/7_kleene
@@ -384,18 +384,18 @@
}
SCOPE void
rde_tc_get (RDE_TC tc, int at, char** ch, long int* len)
{
long int oc, off, top, end;
- long int* ov;
- rde_stack_get (tc->off, &oc, (void***) &ov);
+ void** ov;
+ rde_stack_get (tc->off, &oc, &ov);
ASSERT_BOUNDS(at,oc);
- off = ov [at];
+ off = (long int) ov [at];
if ((at+1) == oc) {
end = tc->num;
} else {
- end = ov [at+1];
+ end = (long int) ov [at+1];
}
TRACE (("rde_tc_get (RDE_TC %p, @ %d) => %d.[%d ... %d]/%d",tc,at,end-off,off,end-1,tc->num));
ASSERT_BOUNDS(off,tc->num);
ASSERT_BOUNDS(end-1,tc->num);
*ch = tc->str + off;
@@ -403,19 +403,19 @@
}
SCOPE void
rde_tc_get_s (RDE_TC tc, int at, int last, char** ch, long int* len)
{
long int oc, off, top, end;
- long int* ov;
- rde_stack_get (tc->off, &oc, (void***) &ov);
+ void** ov;
+ rde_stack_get (tc->off, &oc, &ov);
ASSERT_BOUNDS(at,oc);
ASSERT_BOUNDS(last,oc);
- off = ov [at];
+ off = (long int) ov [at];
if ((last+1) == oc) {
end = tc->num;
} else {
- end = ov [last+1];
+ end = (long int) ov [last+1];
}
TRACE (("rde_tc_get_s (RDE_TC %p, @ %d .. %d) => %d.[%d ... %d]/%d",tc,at,last,end-off,off,end-1,tc->num));
ASSERT_BOUNDS(off,tc->num);
ASSERT_BOUNDS(end-1,tc->num);
*ch = tc->str + off;
@@ -464,11 +464,11 @@
tc_wordchar,
tc_xdigit
} test_class_id;
static void ast_node_free (void* n);
static void error_state_free (void* es);
- static void error_set (RDE_PARAM p, int s);
+ static void error_set (RDE_PARAM p, long int s);
static void nc_clear (RDE_PARAM p);
static int UniCharIsAscii (int character);
static int UniCharIsHexDigit (int character);
static int UniCharIsDecDigit (int character);
static void test_class (RDE_PARAM p, UniCharClass class, test_class_id id);
@@ -617,13 +617,13 @@
rde_param_query_clientdata (RDE_PARAM p)
{
return p->clientData;
}
SCOPE void
- rde_param_query_amark (RDE_PARAM p, long int* mc, long int** mv)
+ rde_param_query_amark (RDE_PARAM p, long int* mc, void*** mv)
{
- rde_stack_get (p->mark, mc, (void***) mv);
+ rde_stack_get (p->mark, mc, mv);
}
SCOPE void
rde_param_query_ast (RDE_PARAM p, long int* ac, Tcl_Obj*** av)
{
rde_stack_get (p->ast, ac, (void***) av);
@@ -660,25 +660,25 @@
res = Tcl_NewStringObj ("", 0);
} else {
Tcl_Obj* ov [2];
Tcl_Obj** mov;
long int mc, i, j;
- long int* mv;
+ void** mv;
int lastid;
const char* msg;
- rde_stack_get (er->msg, &mc, (void***) &mv);
+ rde_stack_get (er->msg, &mc, &mv);
- qsort (mv, mc, sizeof (long int), er_int_compare);
+ qsort (mv, mc, sizeof (void*), er_int_compare);
mov = NALLOC (mc, Tcl_Obj*);
lastid = -1;
for (i=0, j=0; i < mc; i++) {
ASSERT_BOUNDS (i,mc);
- if (mv [i] == lastid) continue;
- lastid = mv [i];
- ASSERT_BOUNDS(mv[i],p->numstr);
- msg = p->string [mv[i]];
+ if (((long int) mv [i]) == lastid) continue;
+ lastid = (long int) mv [i];
+ ASSERT_BOUNDS((long int) mv[i],p->numstr);
+ msg = p->string [(long int) mv[i]];
ASSERT_BOUNDS (j,mc);
mov [j] = Tcl_NewStringObj (msg, -1);
j++;
}
@@ -747,11 +747,11 @@
{
long int trim = (long int) rde_stack_top (p->mark);
ENTER ("rde_param_i_ast_pop_rewind");
TRACE (("RDE_PARAM %p",p));
rde_stack_pop (p->mark, 1);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
TRACE (("SV = (%p rc%d '%s')",
p->SV,
p->SV ? p->SV->refCount : -1,
p->SV ? Tcl_GetString (p->SV) : ""));
RETURNVOID;
@@ -760,11 +760,11 @@
rde_param_i_ast_rewind (RDE_PARAM p)
{
long int trim = (long int) rde_stack_top (p->mark);
ENTER ("rde_param_i_ast_rewind");
TRACE (("RDE_PARAM %p",p));
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
TRACE (("SV = (%p rc%d '%s')",
p->SV,
p->SV ? p->SV->refCount : -1,
p->SV ? Tcl_GetString (p->SV) : ""));
RETURNVOID;
@@ -795,11 +795,11 @@
rde_param_i_error_clear (RDE_PARAM p)
{
ER_CLEAR (p);
}
SCOPE void
- rde_param_i_error_nonterminal (RDE_PARAM p, int s)
+ rde_param_i_error_nonterminal (RDE_PARAM p, long int s)
{
return;
long int pos;
if (!p->ER) return;
@@ -851,11 +851,11 @@
{
rde_stack_push (p->ES, p->ER);
if (p->ER) { p->ER->refCount ++; }
}
static void
- error_set (RDE_PARAM p, int s)
+ error_set (RDE_PARAM p, long int s)
{
error_state_free (p->ER);
p->ER = ALLOC (ERROR_STATE);
p->ER->refCount = 1;
p->ER->loc = p->CL;
@@ -893,11 +893,11 @@
rde_param_i_loc_rewind (RDE_PARAM p)
{
p->CL = (long int) rde_stack_top (p->LS);
}
SCOPE void
- rde_param_i_input_next (RDE_PARAM p, int m)
+ rde_param_i_input_next (RDE_PARAM p, long int m)
{
int leni;
char* ch;
ASSERT_BOUNDS(m,p->numstr);
p->CL ++;
@@ -939,11 +939,11 @@
rde_param_i_status_negate (RDE_PARAM p)
{
p->ST = !p->ST;
}
SCOPE int
- rde_param_i_symbol_restore (RDE_PARAM p, int s)
+ rde_param_i_symbol_restore (RDE_PARAM p, long int s)
{
NC_STATE* scs;
Tcl_HashEntry* hPtr;
Tcl_HashTable* tablePtr;
@@ -962,11 +962,11 @@
TRACE (("SV_RESTORE (%p) '%s'",scs->SV, scs->SV ? Tcl_GetString (scs->SV):""));
SV_SET (p, scs->SV);
return 1;
}
SCOPE void
- rde_param_i_symbol_save (RDE_PARAM p, int s)
+ rde_param_i_symbol_save (RDE_PARAM p, long int s)
{
long int at = (long int) rde_stack_top (p->LS);
NC_STATE* scs;
Tcl_HashEntry* hPtr;
Tcl_HashTable* tablePtr;
@@ -1033,11 +1033,11 @@
rde_param_i_test_control (RDE_PARAM p)
{
test_class (p, Tcl_UniCharIsControl, tc_control);
}
SCOPE void
- rde_param_i_test_char (RDE_PARAM p, const char* c, int msg)
+ rde_param_i_test_char (RDE_PARAM p, const char* c, long int msg)
{
ASSERT_BOUNDS(msg,p->numstr);
p->ST = Tcl_UtfNcmp (p->CC, c, 1) == 0;
if (p->ST) {
ER_CLEAR (p);
@@ -1075,11 +1075,11 @@
rde_param_i_test_punct (RDE_PARAM p)
{
test_class (p, Tcl_UniCharIsPunct, tc_punct);
}
SCOPE void
- rde_param_i_test_range (RDE_PARAM p, char* s, char* e, int msg)
+ rde_param_i_test_range (RDE_PARAM p, const char* s, const char* e, long int msg)
{
ASSERT_BOUNDS(msg,p->numstr);
p->ST =
(Tcl_UtfNcmp (s, p->CC, 1) <= 0) &&
(Tcl_UtfNcmp (p->CC, e, 1) <= 0);
@@ -1144,11 +1144,11 @@
rde_param_i_value_clear (RDE_PARAM p)
{
SV_CLEAR (p);
}
SCOPE void
- rde_param_i_value_leaf (RDE_PARAM p, int s)
+ rde_param_i_value_leaf (RDE_PARAM p, long int s)
{
Tcl_Obj* newsv;
Tcl_Obj* ov [3];
long int pos = 1 + (long int) rde_stack_top (p->LS);
ASSERT_BOUNDS(s,p->numstr);
@@ -1158,11 +1158,11 @@
newsv = Tcl_NewListObj (3, ov);
TRACE (("rde_param_i_value_leaf => '%s'",Tcl_GetString (newsv)));
SV_SET (p, newsv);
}
SCOPE void
- rde_param_i_value_reduce (RDE_PARAM p, int s)
+ rde_param_i_value_reduce (RDE_PARAM p, long int s)
{
Tcl_Obj* newsv;
int oc, i, j;
Tcl_Obj** ov;
long int ac;
@@ -1190,18 +1190,21 @@
ckfree ((char*) ov);
}
static int
er_int_compare (const void* a, const void* b)
{
- long int ai = *((long int*) a);
- long int bi = *((long int*) b);
- if (ai < bi) { return -1; }
- if (ai > bi) { return 1; }
+
+ const void** ael = (const void**) a;
+ const void** bel = (const void**) b;
+ long int avalue = (long int) *ael;
+ long int bvalue = (long int) *bel;
+ if (avalue < bvalue) { return -1; }
+ if (avalue > bvalue) { return 1; }
return 0;
}
SCOPE int
- rde_param_i_symbol_start (RDE_PARAM p, int s)
+ rde_param_i_symbol_start (RDE_PARAM p, long int s)
{
if (rde_param_i_symbol_restore (p, s)) {
if (p->ST) {
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
@@ -1210,11 +1213,11 @@
}
rde_stack_push (p->LS, (void*) p->CL);
return 0;
}
SCOPE int
- rde_param_i_symbol_start_d (RDE_PARAM p, int s)
+ rde_param_i_symbol_start_d (RDE_PARAM p, long int s)
{
if (rde_param_i_symbol_restore (p, s)) {
if (p->ST) {
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
@@ -1224,26 +1227,26 @@
rde_stack_push (p->LS, (void*) p->CL);
rde_stack_push (p->mark, (void*) rde_stack_size (p->ast));
return 0;
}
SCOPE int
- rde_param_i_symbol_void_start (RDE_PARAM p, int s)
+ rde_param_i_symbol_void_start (RDE_PARAM p, long int s)
{
if (rde_param_i_symbol_restore (p, s)) return 1;
rde_stack_push (p->LS, (void*) p->CL);
return 0;
}
SCOPE int
- rde_param_i_symbol_void_start_d (RDE_PARAM p, int s)
+ rde_param_i_symbol_void_start_d (RDE_PARAM p, long int s)
{
if (rde_param_i_symbol_restore (p, s)) return 1;
rde_stack_push (p->LS, (void*) p->CL);
rde_stack_push (p->mark, (void*) rde_stack_size (p->ast));
return 0;
}
SCOPE void
- rde_param_i_symbol_done_d_reduce (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_d_reduce (RDE_PARAM p, long int s, long int m)
{
if (p->ST) {
rde_param_i_value_reduce (p, s);
} else {
SV_CLEAR (p);
@@ -1256,11 +1259,11 @@
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
}
}
SCOPE void
- rde_param_i_symbol_done_leaf (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_leaf (RDE_PARAM p, long int s, long int m)
{
if (p->ST) {
rde_param_i_value_leaf (p, s);
} else {
SV_CLEAR (p);
@@ -1272,11 +1275,11 @@
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
}
}
SCOPE void
- rde_param_i_symbol_done_d_leaf (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_d_leaf (RDE_PARAM p, long int s, long int m)
{
if (p->ST) {
rde_param_i_value_leaf (p, s);
} else {
SV_CLEAR (p);
@@ -1289,133 +1292,133 @@
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
}
}
SCOPE void
- rde_param_i_symbol_done_void (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_void (RDE_PARAM p, long int s, long int m)
{
SV_CLEAR (p);
rde_param_i_symbol_save (p, s);
rde_param_i_error_nonterminal (p, m);
rde_stack_pop (p->LS, 1);
}
SCOPE void
- rde_param_i_symbol_done_d_void (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_d_void (RDE_PARAM p, long int s, long int m)
{
SV_CLEAR (p);
rde_param_i_symbol_save (p, s);
rde_param_i_error_nonterminal (p, m);
rde_param_i_ast_pop_rewind (p);
rde_stack_pop (p->LS, 1);
}
SCOPE void
- rde_param_i_next_char (RDE_PARAM p, char* c, int m)
+ rde_param_i_next_char (RDE_PARAM p, const char* c, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_char (p, c, m);
}
SCOPE void
- rde_param_i_next_range (RDE_PARAM p, char* s, char* e, int m)
+ rde_param_i_next_range (RDE_PARAM p, const char* s, const char* e, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_range (p, s, e, m);
}
SCOPE void
- rde_param_i_next_alnum (RDE_PARAM p, int m)
+ rde_param_i_next_alnum (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_alnum (p);
}
SCOPE void
- rde_param_i_next_alpha (RDE_PARAM p, int m)
+ rde_param_i_next_alpha (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_alpha (p);
}
SCOPE void
- rde_param_i_next_ascii (RDE_PARAM p, int m)
+ rde_param_i_next_ascii (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_ascii (p);
}
SCOPE void
- rde_param_i_next_control (RDE_PARAM p, int m)
+ rde_param_i_next_control (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_control (p);
}
SCOPE void
- rde_param_i_next_ddigit (RDE_PARAM p, int m)
+ rde_param_i_next_ddigit (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_ddigit (p);
}
SCOPE void
- rde_param_i_next_digit (RDE_PARAM p, int m)
+ rde_param_i_next_digit (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_digit (p);
}
SCOPE void
- rde_param_i_next_graph (RDE_PARAM p, int m)
+ rde_param_i_next_graph (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_graph (p);
}
SCOPE void
- rde_param_i_next_lower (RDE_PARAM p, int m)
+ rde_param_i_next_lower (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_lower (p);
}
SCOPE void
- rde_param_i_next_print (RDE_PARAM p, int m)
+ rde_param_i_next_print (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_print (p);
}
SCOPE void
- rde_param_i_next_punct (RDE_PARAM p, int m)
+ rde_param_i_next_punct (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_punct (p);
}
SCOPE void
- rde_param_i_next_space (RDE_PARAM p, int m)
+ rde_param_i_next_space (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_space (p);
}
SCOPE void
- rde_param_i_next_upper (RDE_PARAM p, int m)
+ rde_param_i_next_upper (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_upper (p);
}
SCOPE void
- rde_param_i_next_wordchar (RDE_PARAM p, int m)
+ rde_param_i_next_wordchar (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_wordchar (p);
}
SCOPE void
- rde_param_i_next_xdigit (RDE_PARAM p, int m)
+ rde_param_i_next_xdigit (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_xdigit (p);
}
@@ -1492,11 +1495,11 @@
rde_param_i_state_merge_value (RDE_PARAM p)
{
rde_param_i_error_pop_merge (p);
if (!p->ST) {
long int trim = (long int) rde_stack_top (p->mark);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
p->CL = (long int) rde_stack_top (p->LS);
}
rde_stack_pop (p->mark, 1);
rde_stack_pop (p->LS, 1);
}
@@ -1560,11 +1563,11 @@
if (p->ER) { p->ER->refCount ++; }
return 0;
} else {
long int trim = (long int) rde_stack_top (p->mark);
rde_stack_pop (p->mark, 1);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
p->CL = (long int) rde_stack_top (p->LS);
rde_stack_pop (p->LS, 1);
return 1;
}
}
@@ -1603,11 +1606,11 @@
rde_stack_pop (p->mark, 1);
rde_stack_pop (p->LS, 1);
} else {
long int trim = (long int) rde_stack_top (p->mark);
rde_stack_pop (p->mark, 1);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
p->CL = (long int) rde_stack_top (p->LS);
rde_stack_push (p->ES, p->ER);
if (p->ER) { p->ER->refCount ++; }
}
return p->ST;
@@ -1619,19 +1622,19 @@
if (p->ST) {
rde_stack_pop (p->mark, 1);
rde_stack_pop (p->LS, 1);
} else {
long int trim = (long int) rde_stack_top (p->mark);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
p->CL = (long int) rde_stack_top (p->LS);
rde_stack_push (p->ES, p->ER);
if (p->ER) { p->ER->refCount ++; }
}
return p->ST;
}
SCOPE void
- rde_param_i_next_str (RDE_PARAM p, const char* str, int m)
+ rde_param_i_next_str (RDE_PARAM p, const char* str, long int m)
{
int at = p->CL;
while (*str) {
rde_param_i_input_next (p, m);
@@ -1648,11 +1651,11 @@
}
str = Tcl_UtfNext (str);
}
}
SCOPE void
- rde_param_i_next_class (RDE_PARAM p, const char* class, int m)
+ rde_param_i_next_class (RDE_PARAM p, const char* class, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
while (*class) {
p->ST = Tcl_UtfNcmp (p->CC, class, 1) == 0;
@@ -1747,11 +1750,11 @@
Tcl_SetAssocData (interp, KEY, proc,
(ClientData) parserg);
}
parserg->counter ++;
- sprintf (parserg->buf, "PARSER%d", parserg->counter);
+ sprintf (parserg->buf, "PARSER%ld", parserg->counter);
return parserg->buf;
#undef KEY
}
static void
Index: modules/pt/tests/data/ok/peg_cparam-tea/8_pkleene
==================================================================
--- modules/pt/tests/data/ok/peg_cparam-tea/8_pkleene
+++ modules/pt/tests/data/ok/peg_cparam-tea/8_pkleene
@@ -384,18 +384,18 @@
}
SCOPE void
rde_tc_get (RDE_TC tc, int at, char** ch, long int* len)
{
long int oc, off, top, end;
- long int* ov;
- rde_stack_get (tc->off, &oc, (void***) &ov);
+ void** ov;
+ rde_stack_get (tc->off, &oc, &ov);
ASSERT_BOUNDS(at,oc);
- off = ov [at];
+ off = (long int) ov [at];
if ((at+1) == oc) {
end = tc->num;
} else {
- end = ov [at+1];
+ end = (long int) ov [at+1];
}
TRACE (("rde_tc_get (RDE_TC %p, @ %d) => %d.[%d ... %d]/%d",tc,at,end-off,off,end-1,tc->num));
ASSERT_BOUNDS(off,tc->num);
ASSERT_BOUNDS(end-1,tc->num);
*ch = tc->str + off;
@@ -403,19 +403,19 @@
}
SCOPE void
rde_tc_get_s (RDE_TC tc, int at, int last, char** ch, long int* len)
{
long int oc, off, top, end;
- long int* ov;
- rde_stack_get (tc->off, &oc, (void***) &ov);
+ void** ov;
+ rde_stack_get (tc->off, &oc, &ov);
ASSERT_BOUNDS(at,oc);
ASSERT_BOUNDS(last,oc);
- off = ov [at];
+ off = (long int) ov [at];
if ((last+1) == oc) {
end = tc->num;
} else {
- end = ov [last+1];
+ end = (long int) ov [last+1];
}
TRACE (("rde_tc_get_s (RDE_TC %p, @ %d .. %d) => %d.[%d ... %d]/%d",tc,at,last,end-off,off,end-1,tc->num));
ASSERT_BOUNDS(off,tc->num);
ASSERT_BOUNDS(end-1,tc->num);
*ch = tc->str + off;
@@ -464,11 +464,11 @@
tc_wordchar,
tc_xdigit
} test_class_id;
static void ast_node_free (void* n);
static void error_state_free (void* es);
- static void error_set (RDE_PARAM p, int s);
+ static void error_set (RDE_PARAM p, long int s);
static void nc_clear (RDE_PARAM p);
static int UniCharIsAscii (int character);
static int UniCharIsHexDigit (int character);
static int UniCharIsDecDigit (int character);
static void test_class (RDE_PARAM p, UniCharClass class, test_class_id id);
@@ -617,13 +617,13 @@
rde_param_query_clientdata (RDE_PARAM p)
{
return p->clientData;
}
SCOPE void
- rde_param_query_amark (RDE_PARAM p, long int* mc, long int** mv)
+ rde_param_query_amark (RDE_PARAM p, long int* mc, void*** mv)
{
- rde_stack_get (p->mark, mc, (void***) mv);
+ rde_stack_get (p->mark, mc, mv);
}
SCOPE void
rde_param_query_ast (RDE_PARAM p, long int* ac, Tcl_Obj*** av)
{
rde_stack_get (p->ast, ac, (void***) av);
@@ -660,25 +660,25 @@
res = Tcl_NewStringObj ("", 0);
} else {
Tcl_Obj* ov [2];
Tcl_Obj** mov;
long int mc, i, j;
- long int* mv;
+ void** mv;
int lastid;
const char* msg;
- rde_stack_get (er->msg, &mc, (void***) &mv);
+ rde_stack_get (er->msg, &mc, &mv);
- qsort (mv, mc, sizeof (long int), er_int_compare);
+ qsort (mv, mc, sizeof (void*), er_int_compare);
mov = NALLOC (mc, Tcl_Obj*);
lastid = -1;
for (i=0, j=0; i < mc; i++) {
ASSERT_BOUNDS (i,mc);
- if (mv [i] == lastid) continue;
- lastid = mv [i];
- ASSERT_BOUNDS(mv[i],p->numstr);
- msg = p->string [mv[i]];
+ if (((long int) mv [i]) == lastid) continue;
+ lastid = (long int) mv [i];
+ ASSERT_BOUNDS((long int) mv[i],p->numstr);
+ msg = p->string [(long int) mv[i]];
ASSERT_BOUNDS (j,mc);
mov [j] = Tcl_NewStringObj (msg, -1);
j++;
}
@@ -747,11 +747,11 @@
{
long int trim = (long int) rde_stack_top (p->mark);
ENTER ("rde_param_i_ast_pop_rewind");
TRACE (("RDE_PARAM %p",p));
rde_stack_pop (p->mark, 1);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
TRACE (("SV = (%p rc%d '%s')",
p->SV,
p->SV ? p->SV->refCount : -1,
p->SV ? Tcl_GetString (p->SV) : ""));
RETURNVOID;
@@ -760,11 +760,11 @@
rde_param_i_ast_rewind (RDE_PARAM p)
{
long int trim = (long int) rde_stack_top (p->mark);
ENTER ("rde_param_i_ast_rewind");
TRACE (("RDE_PARAM %p",p));
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
TRACE (("SV = (%p rc%d '%s')",
p->SV,
p->SV ? p->SV->refCount : -1,
p->SV ? Tcl_GetString (p->SV) : ""));
RETURNVOID;
@@ -795,11 +795,11 @@
rde_param_i_error_clear (RDE_PARAM p)
{
ER_CLEAR (p);
}
SCOPE void
- rde_param_i_error_nonterminal (RDE_PARAM p, int s)
+ rde_param_i_error_nonterminal (RDE_PARAM p, long int s)
{
return;
long int pos;
if (!p->ER) return;
@@ -851,11 +851,11 @@
{
rde_stack_push (p->ES, p->ER);
if (p->ER) { p->ER->refCount ++; }
}
static void
- error_set (RDE_PARAM p, int s)
+ error_set (RDE_PARAM p, long int s)
{
error_state_free (p->ER);
p->ER = ALLOC (ERROR_STATE);
p->ER->refCount = 1;
p->ER->loc = p->CL;
@@ -893,11 +893,11 @@
rde_param_i_loc_rewind (RDE_PARAM p)
{
p->CL = (long int) rde_stack_top (p->LS);
}
SCOPE void
- rde_param_i_input_next (RDE_PARAM p, int m)
+ rde_param_i_input_next (RDE_PARAM p, long int m)
{
int leni;
char* ch;
ASSERT_BOUNDS(m,p->numstr);
p->CL ++;
@@ -939,11 +939,11 @@
rde_param_i_status_negate (RDE_PARAM p)
{
p->ST = !p->ST;
}
SCOPE int
- rde_param_i_symbol_restore (RDE_PARAM p, int s)
+ rde_param_i_symbol_restore (RDE_PARAM p, long int s)
{
NC_STATE* scs;
Tcl_HashEntry* hPtr;
Tcl_HashTable* tablePtr;
@@ -962,11 +962,11 @@
TRACE (("SV_RESTORE (%p) '%s'",scs->SV, scs->SV ? Tcl_GetString (scs->SV):""));
SV_SET (p, scs->SV);
return 1;
}
SCOPE void
- rde_param_i_symbol_save (RDE_PARAM p, int s)
+ rde_param_i_symbol_save (RDE_PARAM p, long int s)
{
long int at = (long int) rde_stack_top (p->LS);
NC_STATE* scs;
Tcl_HashEntry* hPtr;
Tcl_HashTable* tablePtr;
@@ -1033,11 +1033,11 @@
rde_param_i_test_control (RDE_PARAM p)
{
test_class (p, Tcl_UniCharIsControl, tc_control);
}
SCOPE void
- rde_param_i_test_char (RDE_PARAM p, const char* c, int msg)
+ rde_param_i_test_char (RDE_PARAM p, const char* c, long int msg)
{
ASSERT_BOUNDS(msg,p->numstr);
p->ST = Tcl_UtfNcmp (p->CC, c, 1) == 0;
if (p->ST) {
ER_CLEAR (p);
@@ -1075,11 +1075,11 @@
rde_param_i_test_punct (RDE_PARAM p)
{
test_class (p, Tcl_UniCharIsPunct, tc_punct);
}
SCOPE void
- rde_param_i_test_range (RDE_PARAM p, char* s, char* e, int msg)
+ rde_param_i_test_range (RDE_PARAM p, const char* s, const char* e, long int msg)
{
ASSERT_BOUNDS(msg,p->numstr);
p->ST =
(Tcl_UtfNcmp (s, p->CC, 1) <= 0) &&
(Tcl_UtfNcmp (p->CC, e, 1) <= 0);
@@ -1144,11 +1144,11 @@
rde_param_i_value_clear (RDE_PARAM p)
{
SV_CLEAR (p);
}
SCOPE void
- rde_param_i_value_leaf (RDE_PARAM p, int s)
+ rde_param_i_value_leaf (RDE_PARAM p, long int s)
{
Tcl_Obj* newsv;
Tcl_Obj* ov [3];
long int pos = 1 + (long int) rde_stack_top (p->LS);
ASSERT_BOUNDS(s,p->numstr);
@@ -1158,11 +1158,11 @@
newsv = Tcl_NewListObj (3, ov);
TRACE (("rde_param_i_value_leaf => '%s'",Tcl_GetString (newsv)));
SV_SET (p, newsv);
}
SCOPE void
- rde_param_i_value_reduce (RDE_PARAM p, int s)
+ rde_param_i_value_reduce (RDE_PARAM p, long int s)
{
Tcl_Obj* newsv;
int oc, i, j;
Tcl_Obj** ov;
long int ac;
@@ -1190,18 +1190,21 @@
ckfree ((char*) ov);
}
static int
er_int_compare (const void* a, const void* b)
{
- long int ai = *((long int*) a);
- long int bi = *((long int*) b);
- if (ai < bi) { return -1; }
- if (ai > bi) { return 1; }
+
+ const void** ael = (const void**) a;
+ const void** bel = (const void**) b;
+ long int avalue = (long int) *ael;
+ long int bvalue = (long int) *bel;
+ if (avalue < bvalue) { return -1; }
+ if (avalue > bvalue) { return 1; }
return 0;
}
SCOPE int
- rde_param_i_symbol_start (RDE_PARAM p, int s)
+ rde_param_i_symbol_start (RDE_PARAM p, long int s)
{
if (rde_param_i_symbol_restore (p, s)) {
if (p->ST) {
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
@@ -1210,11 +1213,11 @@
}
rde_stack_push (p->LS, (void*) p->CL);
return 0;
}
SCOPE int
- rde_param_i_symbol_start_d (RDE_PARAM p, int s)
+ rde_param_i_symbol_start_d (RDE_PARAM p, long int s)
{
if (rde_param_i_symbol_restore (p, s)) {
if (p->ST) {
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
@@ -1224,26 +1227,26 @@
rde_stack_push (p->LS, (void*) p->CL);
rde_stack_push (p->mark, (void*) rde_stack_size (p->ast));
return 0;
}
SCOPE int
- rde_param_i_symbol_void_start (RDE_PARAM p, int s)
+ rde_param_i_symbol_void_start (RDE_PARAM p, long int s)
{
if (rde_param_i_symbol_restore (p, s)) return 1;
rde_stack_push (p->LS, (void*) p->CL);
return 0;
}
SCOPE int
- rde_param_i_symbol_void_start_d (RDE_PARAM p, int s)
+ rde_param_i_symbol_void_start_d (RDE_PARAM p, long int s)
{
if (rde_param_i_symbol_restore (p, s)) return 1;
rde_stack_push (p->LS, (void*) p->CL);
rde_stack_push (p->mark, (void*) rde_stack_size (p->ast));
return 0;
}
SCOPE void
- rde_param_i_symbol_done_d_reduce (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_d_reduce (RDE_PARAM p, long int s, long int m)
{
if (p->ST) {
rde_param_i_value_reduce (p, s);
} else {
SV_CLEAR (p);
@@ -1256,11 +1259,11 @@
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
}
}
SCOPE void
- rde_param_i_symbol_done_leaf (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_leaf (RDE_PARAM p, long int s, long int m)
{
if (p->ST) {
rde_param_i_value_leaf (p, s);
} else {
SV_CLEAR (p);
@@ -1272,11 +1275,11 @@
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
}
}
SCOPE void
- rde_param_i_symbol_done_d_leaf (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_d_leaf (RDE_PARAM p, long int s, long int m)
{
if (p->ST) {
rde_param_i_value_leaf (p, s);
} else {
SV_CLEAR (p);
@@ -1289,133 +1292,133 @@
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
}
}
SCOPE void
- rde_param_i_symbol_done_void (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_void (RDE_PARAM p, long int s, long int m)
{
SV_CLEAR (p);
rde_param_i_symbol_save (p, s);
rde_param_i_error_nonterminal (p, m);
rde_stack_pop (p->LS, 1);
}
SCOPE void
- rde_param_i_symbol_done_d_void (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_d_void (RDE_PARAM p, long int s, long int m)
{
SV_CLEAR (p);
rde_param_i_symbol_save (p, s);
rde_param_i_error_nonterminal (p, m);
rde_param_i_ast_pop_rewind (p);
rde_stack_pop (p->LS, 1);
}
SCOPE void
- rde_param_i_next_char (RDE_PARAM p, char* c, int m)
+ rde_param_i_next_char (RDE_PARAM p, const char* c, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_char (p, c, m);
}
SCOPE void
- rde_param_i_next_range (RDE_PARAM p, char* s, char* e, int m)
+ rde_param_i_next_range (RDE_PARAM p, const char* s, const char* e, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_range (p, s, e, m);
}
SCOPE void
- rde_param_i_next_alnum (RDE_PARAM p, int m)
+ rde_param_i_next_alnum (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_alnum (p);
}
SCOPE void
- rde_param_i_next_alpha (RDE_PARAM p, int m)
+ rde_param_i_next_alpha (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_alpha (p);
}
SCOPE void
- rde_param_i_next_ascii (RDE_PARAM p, int m)
+ rde_param_i_next_ascii (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_ascii (p);
}
SCOPE void
- rde_param_i_next_control (RDE_PARAM p, int m)
+ rde_param_i_next_control (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_control (p);
}
SCOPE void
- rde_param_i_next_ddigit (RDE_PARAM p, int m)
+ rde_param_i_next_ddigit (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_ddigit (p);
}
SCOPE void
- rde_param_i_next_digit (RDE_PARAM p, int m)
+ rde_param_i_next_digit (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_digit (p);
}
SCOPE void
- rde_param_i_next_graph (RDE_PARAM p, int m)
+ rde_param_i_next_graph (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_graph (p);
}
SCOPE void
- rde_param_i_next_lower (RDE_PARAM p, int m)
+ rde_param_i_next_lower (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_lower (p);
}
SCOPE void
- rde_param_i_next_print (RDE_PARAM p, int m)
+ rde_param_i_next_print (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_print (p);
}
SCOPE void
- rde_param_i_next_punct (RDE_PARAM p, int m)
+ rde_param_i_next_punct (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_punct (p);
}
SCOPE void
- rde_param_i_next_space (RDE_PARAM p, int m)
+ rde_param_i_next_space (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_space (p);
}
SCOPE void
- rde_param_i_next_upper (RDE_PARAM p, int m)
+ rde_param_i_next_upper (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_upper (p);
}
SCOPE void
- rde_param_i_next_wordchar (RDE_PARAM p, int m)
+ rde_param_i_next_wordchar (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_wordchar (p);
}
SCOPE void
- rde_param_i_next_xdigit (RDE_PARAM p, int m)
+ rde_param_i_next_xdigit (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_xdigit (p);
}
@@ -1492,11 +1495,11 @@
rde_param_i_state_merge_value (RDE_PARAM p)
{
rde_param_i_error_pop_merge (p);
if (!p->ST) {
long int trim = (long int) rde_stack_top (p->mark);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
p->CL = (long int) rde_stack_top (p->LS);
}
rde_stack_pop (p->mark, 1);
rde_stack_pop (p->LS, 1);
}
@@ -1560,11 +1563,11 @@
if (p->ER) { p->ER->refCount ++; }
return 0;
} else {
long int trim = (long int) rde_stack_top (p->mark);
rde_stack_pop (p->mark, 1);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
p->CL = (long int) rde_stack_top (p->LS);
rde_stack_pop (p->LS, 1);
return 1;
}
}
@@ -1603,11 +1606,11 @@
rde_stack_pop (p->mark, 1);
rde_stack_pop (p->LS, 1);
} else {
long int trim = (long int) rde_stack_top (p->mark);
rde_stack_pop (p->mark, 1);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
p->CL = (long int) rde_stack_top (p->LS);
rde_stack_push (p->ES, p->ER);
if (p->ER) { p->ER->refCount ++; }
}
return p->ST;
@@ -1619,19 +1622,19 @@
if (p->ST) {
rde_stack_pop (p->mark, 1);
rde_stack_pop (p->LS, 1);
} else {
long int trim = (long int) rde_stack_top (p->mark);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
p->CL = (long int) rde_stack_top (p->LS);
rde_stack_push (p->ES, p->ER);
if (p->ER) { p->ER->refCount ++; }
}
return p->ST;
}
SCOPE void
- rde_param_i_next_str (RDE_PARAM p, const char* str, int m)
+ rde_param_i_next_str (RDE_PARAM p, const char* str, long int m)
{
int at = p->CL;
while (*str) {
rde_param_i_input_next (p, m);
@@ -1648,11 +1651,11 @@
}
str = Tcl_UtfNext (str);
}
}
SCOPE void
- rde_param_i_next_class (RDE_PARAM p, const char* class, int m)
+ rde_param_i_next_class (RDE_PARAM p, const char* class, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
while (*class) {
p->ST = Tcl_UtfNcmp (p->CC, class, 1) == 0;
@@ -1750,11 +1753,11 @@
Tcl_SetAssocData (interp, KEY, proc,
(ClientData) parserg);
}
parserg->counter ++;
- sprintf (parserg->buf, "PARSER%d", parserg->counter);
+ sprintf (parserg->buf, "PARSER%ld", parserg->counter);
return parserg->buf;
#undef KEY
}
static void
Index: modules/pt/tests/data/ok/peg_cparam-tea/9_ahead
==================================================================
--- modules/pt/tests/data/ok/peg_cparam-tea/9_ahead
+++ modules/pt/tests/data/ok/peg_cparam-tea/9_ahead
@@ -384,18 +384,18 @@
}
SCOPE void
rde_tc_get (RDE_TC tc, int at, char** ch, long int* len)
{
long int oc, off, top, end;
- long int* ov;
- rde_stack_get (tc->off, &oc, (void***) &ov);
+ void** ov;
+ rde_stack_get (tc->off, &oc, &ov);
ASSERT_BOUNDS(at,oc);
- off = ov [at];
+ off = (long int) ov [at];
if ((at+1) == oc) {
end = tc->num;
} else {
- end = ov [at+1];
+ end = (long int) ov [at+1];
}
TRACE (("rde_tc_get (RDE_TC %p, @ %d) => %d.[%d ... %d]/%d",tc,at,end-off,off,end-1,tc->num));
ASSERT_BOUNDS(off,tc->num);
ASSERT_BOUNDS(end-1,tc->num);
*ch = tc->str + off;
@@ -403,19 +403,19 @@
}
SCOPE void
rde_tc_get_s (RDE_TC tc, int at, int last, char** ch, long int* len)
{
long int oc, off, top, end;
- long int* ov;
- rde_stack_get (tc->off, &oc, (void***) &ov);
+ void** ov;
+ rde_stack_get (tc->off, &oc, &ov);
ASSERT_BOUNDS(at,oc);
ASSERT_BOUNDS(last,oc);
- off = ov [at];
+ off = (long int) ov [at];
if ((last+1) == oc) {
end = tc->num;
} else {
- end = ov [last+1];
+ end = (long int) ov [last+1];
}
TRACE (("rde_tc_get_s (RDE_TC %p, @ %d .. %d) => %d.[%d ... %d]/%d",tc,at,last,end-off,off,end-1,tc->num));
ASSERT_BOUNDS(off,tc->num);
ASSERT_BOUNDS(end-1,tc->num);
*ch = tc->str + off;
@@ -464,11 +464,11 @@
tc_wordchar,
tc_xdigit
} test_class_id;
static void ast_node_free (void* n);
static void error_state_free (void* es);
- static void error_set (RDE_PARAM p, int s);
+ static void error_set (RDE_PARAM p, long int s);
static void nc_clear (RDE_PARAM p);
static int UniCharIsAscii (int character);
static int UniCharIsHexDigit (int character);
static int UniCharIsDecDigit (int character);
static void test_class (RDE_PARAM p, UniCharClass class, test_class_id id);
@@ -617,13 +617,13 @@
rde_param_query_clientdata (RDE_PARAM p)
{
return p->clientData;
}
SCOPE void
- rde_param_query_amark (RDE_PARAM p, long int* mc, long int** mv)
+ rde_param_query_amark (RDE_PARAM p, long int* mc, void*** mv)
{
- rde_stack_get (p->mark, mc, (void***) mv);
+ rde_stack_get (p->mark, mc, mv);
}
SCOPE void
rde_param_query_ast (RDE_PARAM p, long int* ac, Tcl_Obj*** av)
{
rde_stack_get (p->ast, ac, (void***) av);
@@ -660,25 +660,25 @@
res = Tcl_NewStringObj ("", 0);
} else {
Tcl_Obj* ov [2];
Tcl_Obj** mov;
long int mc, i, j;
- long int* mv;
+ void** mv;
int lastid;
const char* msg;
- rde_stack_get (er->msg, &mc, (void***) &mv);
+ rde_stack_get (er->msg, &mc, &mv);
- qsort (mv, mc, sizeof (long int), er_int_compare);
+ qsort (mv, mc, sizeof (void*), er_int_compare);
mov = NALLOC (mc, Tcl_Obj*);
lastid = -1;
for (i=0, j=0; i < mc; i++) {
ASSERT_BOUNDS (i,mc);
- if (mv [i] == lastid) continue;
- lastid = mv [i];
- ASSERT_BOUNDS(mv[i],p->numstr);
- msg = p->string [mv[i]];
+ if (((long int) mv [i]) == lastid) continue;
+ lastid = (long int) mv [i];
+ ASSERT_BOUNDS((long int) mv[i],p->numstr);
+ msg = p->string [(long int) mv[i]];
ASSERT_BOUNDS (j,mc);
mov [j] = Tcl_NewStringObj (msg, -1);
j++;
}
@@ -747,11 +747,11 @@
{
long int trim = (long int) rde_stack_top (p->mark);
ENTER ("rde_param_i_ast_pop_rewind");
TRACE (("RDE_PARAM %p",p));
rde_stack_pop (p->mark, 1);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
TRACE (("SV = (%p rc%d '%s')",
p->SV,
p->SV ? p->SV->refCount : -1,
p->SV ? Tcl_GetString (p->SV) : ""));
RETURNVOID;
@@ -760,11 +760,11 @@
rde_param_i_ast_rewind (RDE_PARAM p)
{
long int trim = (long int) rde_stack_top (p->mark);
ENTER ("rde_param_i_ast_rewind");
TRACE (("RDE_PARAM %p",p));
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
TRACE (("SV = (%p rc%d '%s')",
p->SV,
p->SV ? p->SV->refCount : -1,
p->SV ? Tcl_GetString (p->SV) : ""));
RETURNVOID;
@@ -795,11 +795,11 @@
rde_param_i_error_clear (RDE_PARAM p)
{
ER_CLEAR (p);
}
SCOPE void
- rde_param_i_error_nonterminal (RDE_PARAM p, int s)
+ rde_param_i_error_nonterminal (RDE_PARAM p, long int s)
{
return;
long int pos;
if (!p->ER) return;
@@ -851,11 +851,11 @@
{
rde_stack_push (p->ES, p->ER);
if (p->ER) { p->ER->refCount ++; }
}
static void
- error_set (RDE_PARAM p, int s)
+ error_set (RDE_PARAM p, long int s)
{
error_state_free (p->ER);
p->ER = ALLOC (ERROR_STATE);
p->ER->refCount = 1;
p->ER->loc = p->CL;
@@ -893,11 +893,11 @@
rde_param_i_loc_rewind (RDE_PARAM p)
{
p->CL = (long int) rde_stack_top (p->LS);
}
SCOPE void
- rde_param_i_input_next (RDE_PARAM p, int m)
+ rde_param_i_input_next (RDE_PARAM p, long int m)
{
int leni;
char* ch;
ASSERT_BOUNDS(m,p->numstr);
p->CL ++;
@@ -939,11 +939,11 @@
rde_param_i_status_negate (RDE_PARAM p)
{
p->ST = !p->ST;
}
SCOPE int
- rde_param_i_symbol_restore (RDE_PARAM p, int s)
+ rde_param_i_symbol_restore (RDE_PARAM p, long int s)
{
NC_STATE* scs;
Tcl_HashEntry* hPtr;
Tcl_HashTable* tablePtr;
@@ -962,11 +962,11 @@
TRACE (("SV_RESTORE (%p) '%s'",scs->SV, scs->SV ? Tcl_GetString (scs->SV):""));
SV_SET (p, scs->SV);
return 1;
}
SCOPE void
- rde_param_i_symbol_save (RDE_PARAM p, int s)
+ rde_param_i_symbol_save (RDE_PARAM p, long int s)
{
long int at = (long int) rde_stack_top (p->LS);
NC_STATE* scs;
Tcl_HashEntry* hPtr;
Tcl_HashTable* tablePtr;
@@ -1033,11 +1033,11 @@
rde_param_i_test_control (RDE_PARAM p)
{
test_class (p, Tcl_UniCharIsControl, tc_control);
}
SCOPE void
- rde_param_i_test_char (RDE_PARAM p, const char* c, int msg)
+ rde_param_i_test_char (RDE_PARAM p, const char* c, long int msg)
{
ASSERT_BOUNDS(msg,p->numstr);
p->ST = Tcl_UtfNcmp (p->CC, c, 1) == 0;
if (p->ST) {
ER_CLEAR (p);
@@ -1075,11 +1075,11 @@
rde_param_i_test_punct (RDE_PARAM p)
{
test_class (p, Tcl_UniCharIsPunct, tc_punct);
}
SCOPE void
- rde_param_i_test_range (RDE_PARAM p, char* s, char* e, int msg)
+ rde_param_i_test_range (RDE_PARAM p, const char* s, const char* e, long int msg)
{
ASSERT_BOUNDS(msg,p->numstr);
p->ST =
(Tcl_UtfNcmp (s, p->CC, 1) <= 0) &&
(Tcl_UtfNcmp (p->CC, e, 1) <= 0);
@@ -1144,11 +1144,11 @@
rde_param_i_value_clear (RDE_PARAM p)
{
SV_CLEAR (p);
}
SCOPE void
- rde_param_i_value_leaf (RDE_PARAM p, int s)
+ rde_param_i_value_leaf (RDE_PARAM p, long int s)
{
Tcl_Obj* newsv;
Tcl_Obj* ov [3];
long int pos = 1 + (long int) rde_stack_top (p->LS);
ASSERT_BOUNDS(s,p->numstr);
@@ -1158,11 +1158,11 @@
newsv = Tcl_NewListObj (3, ov);
TRACE (("rde_param_i_value_leaf => '%s'",Tcl_GetString (newsv)));
SV_SET (p, newsv);
}
SCOPE void
- rde_param_i_value_reduce (RDE_PARAM p, int s)
+ rde_param_i_value_reduce (RDE_PARAM p, long int s)
{
Tcl_Obj* newsv;
int oc, i, j;
Tcl_Obj** ov;
long int ac;
@@ -1190,18 +1190,21 @@
ckfree ((char*) ov);
}
static int
er_int_compare (const void* a, const void* b)
{
- long int ai = *((long int*) a);
- long int bi = *((long int*) b);
- if (ai < bi) { return -1; }
- if (ai > bi) { return 1; }
+
+ const void** ael = (const void**) a;
+ const void** bel = (const void**) b;
+ long int avalue = (long int) *ael;
+ long int bvalue = (long int) *bel;
+ if (avalue < bvalue) { return -1; }
+ if (avalue > bvalue) { return 1; }
return 0;
}
SCOPE int
- rde_param_i_symbol_start (RDE_PARAM p, int s)
+ rde_param_i_symbol_start (RDE_PARAM p, long int s)
{
if (rde_param_i_symbol_restore (p, s)) {
if (p->ST) {
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
@@ -1210,11 +1213,11 @@
}
rde_stack_push (p->LS, (void*) p->CL);
return 0;
}
SCOPE int
- rde_param_i_symbol_start_d (RDE_PARAM p, int s)
+ rde_param_i_symbol_start_d (RDE_PARAM p, long int s)
{
if (rde_param_i_symbol_restore (p, s)) {
if (p->ST) {
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
@@ -1224,26 +1227,26 @@
rde_stack_push (p->LS, (void*) p->CL);
rde_stack_push (p->mark, (void*) rde_stack_size (p->ast));
return 0;
}
SCOPE int
- rde_param_i_symbol_void_start (RDE_PARAM p, int s)
+ rde_param_i_symbol_void_start (RDE_PARAM p, long int s)
{
if (rde_param_i_symbol_restore (p, s)) return 1;
rde_stack_push (p->LS, (void*) p->CL);
return 0;
}
SCOPE int
- rde_param_i_symbol_void_start_d (RDE_PARAM p, int s)
+ rde_param_i_symbol_void_start_d (RDE_PARAM p, long int s)
{
if (rde_param_i_symbol_restore (p, s)) return 1;
rde_stack_push (p->LS, (void*) p->CL);
rde_stack_push (p->mark, (void*) rde_stack_size (p->ast));
return 0;
}
SCOPE void
- rde_param_i_symbol_done_d_reduce (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_d_reduce (RDE_PARAM p, long int s, long int m)
{
if (p->ST) {
rde_param_i_value_reduce (p, s);
} else {
SV_CLEAR (p);
@@ -1256,11 +1259,11 @@
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
}
}
SCOPE void
- rde_param_i_symbol_done_leaf (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_leaf (RDE_PARAM p, long int s, long int m)
{
if (p->ST) {
rde_param_i_value_leaf (p, s);
} else {
SV_CLEAR (p);
@@ -1272,11 +1275,11 @@
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
}
}
SCOPE void
- rde_param_i_symbol_done_d_leaf (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_d_leaf (RDE_PARAM p, long int s, long int m)
{
if (p->ST) {
rde_param_i_value_leaf (p, s);
} else {
SV_CLEAR (p);
@@ -1289,133 +1292,133 @@
rde_stack_push (p->ast, p->SV);
Tcl_IncrRefCount (p->SV);
}
}
SCOPE void
- rde_param_i_symbol_done_void (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_void (RDE_PARAM p, long int s, long int m)
{
SV_CLEAR (p);
rde_param_i_symbol_save (p, s);
rde_param_i_error_nonterminal (p, m);
rde_stack_pop (p->LS, 1);
}
SCOPE void
- rde_param_i_symbol_done_d_void (RDE_PARAM p, int s, int m)
+ rde_param_i_symbol_done_d_void (RDE_PARAM p, long int s, long int m)
{
SV_CLEAR (p);
rde_param_i_symbol_save (p, s);
rde_param_i_error_nonterminal (p, m);
rde_param_i_ast_pop_rewind (p);
rde_stack_pop (p->LS, 1);
}
SCOPE void
- rde_param_i_next_char (RDE_PARAM p, char* c, int m)
+ rde_param_i_next_char (RDE_PARAM p, const char* c, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_char (p, c, m);
}
SCOPE void
- rde_param_i_next_range (RDE_PARAM p, char* s, char* e, int m)
+ rde_param_i_next_range (RDE_PARAM p, const char* s, const char* e, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_range (p, s, e, m);
}
SCOPE void
- rde_param_i_next_alnum (RDE_PARAM p, int m)
+ rde_param_i_next_alnum (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_alnum (p);
}
SCOPE void
- rde_param_i_next_alpha (RDE_PARAM p, int m)
+ rde_param_i_next_alpha (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_alpha (p);
}
SCOPE void
- rde_param_i_next_ascii (RDE_PARAM p, int m)
+ rde_param_i_next_ascii (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_ascii (p);
}
SCOPE void
- rde_param_i_next_control (RDE_PARAM p, int m)
+ rde_param_i_next_control (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_control (p);
}
SCOPE void
- rde_param_i_next_ddigit (RDE_PARAM p, int m)
+ rde_param_i_next_ddigit (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_ddigit (p);
}
SCOPE void
- rde_param_i_next_digit (RDE_PARAM p, int m)
+ rde_param_i_next_digit (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_digit (p);
}
SCOPE void
- rde_param_i_next_graph (RDE_PARAM p, int m)
+ rde_param_i_next_graph (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_graph (p);
}
SCOPE void
- rde_param_i_next_lower (RDE_PARAM p, int m)
+ rde_param_i_next_lower (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_lower (p);
}
SCOPE void
- rde_param_i_next_print (RDE_PARAM p, int m)
+ rde_param_i_next_print (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_print (p);
}
SCOPE void
- rde_param_i_next_punct (RDE_PARAM p, int m)
+ rde_param_i_next_punct (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_punct (p);
}
SCOPE void
- rde_param_i_next_space (RDE_PARAM p, int m)
+ rde_param_i_next_space (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_space (p);
}
SCOPE void
- rde_param_i_next_upper (RDE_PARAM p, int m)
+ rde_param_i_next_upper (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_upper (p);
}
SCOPE void
- rde_param_i_next_wordchar (RDE_PARAM p, int m)
+ rde_param_i_next_wordchar (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_wordchar (p);
}
SCOPE void
- rde_param_i_next_xdigit (RDE_PARAM p, int m)
+ rde_param_i_next_xdigit (RDE_PARAM p, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
rde_param_i_test_xdigit (p);
}
@@ -1492,11 +1495,11 @@
rde_param_i_state_merge_value (RDE_PARAM p)
{
rde_param_i_error_pop_merge (p);
if (!p->ST) {
long int trim = (long int) rde_stack_top (p->mark);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
p->CL = (long int) rde_stack_top (p->LS);
}
rde_stack_pop (p->mark, 1);
rde_stack_pop (p->LS, 1);
}
@@ -1560,11 +1563,11 @@
if (p->ER) { p->ER->refCount ++; }
return 0;
} else {
long int trim = (long int) rde_stack_top (p->mark);
rde_stack_pop (p->mark, 1);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
p->CL = (long int) rde_stack_top (p->LS);
rde_stack_pop (p->LS, 1);
return 1;
}
}
@@ -1603,11 +1606,11 @@
rde_stack_pop (p->mark, 1);
rde_stack_pop (p->LS, 1);
} else {
long int trim = (long int) rde_stack_top (p->mark);
rde_stack_pop (p->mark, 1);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
p->CL = (long int) rde_stack_top (p->LS);
rde_stack_push (p->ES, p->ER);
if (p->ER) { p->ER->refCount ++; }
}
return p->ST;
@@ -1619,19 +1622,19 @@
if (p->ST) {
rde_stack_pop (p->mark, 1);
rde_stack_pop (p->LS, 1);
} else {
long int trim = (long int) rde_stack_top (p->mark);
- rde_stack_trim (p->ast, (int) trim);
+ rde_stack_trim (p->ast, trim);
p->CL = (long int) rde_stack_top (p->LS);
rde_stack_push (p->ES, p->ER);
if (p->ER) { p->ER->refCount ++; }
}
return p->ST;
}
SCOPE void
- rde_param_i_next_str (RDE_PARAM p, const char* str, int m)
+ rde_param_i_next_str (RDE_PARAM p, const char* str, long int m)
{
int at = p->CL;
while (*str) {
rde_param_i_input_next (p, m);
@@ -1648,11 +1651,11 @@
}
str = Tcl_UtfNext (str);
}
}
SCOPE void
- rde_param_i_next_class (RDE_PARAM p, const char* class, int m)
+ rde_param_i_next_class (RDE_PARAM p, const char* class, long int m)
{
rde_param_i_input_next (p, m);
if (!p->ST) return;
while (*class) {
p->ST = Tcl_UtfNcmp (p->CC, class, 1) == 0;
@@ -1784,11 +1787,11 @@
Tcl_SetAssocData (interp, KEY, proc,
(ClientData) parserg);
}
parserg->counter ++;
- sprintf (parserg->buf, "PARSER%d", parserg->counter);
+ sprintf (parserg->buf, "PARSER%ld", parserg->counter);
return parserg->buf;
#undef KEY
}
static void