Branch: Tag:

2008-01-26

2008-01-26 22:34:27 by Martin Stjernholm <mast@lysator.liu.se>

Eradicated all instances of setting type to T_INT without also setting the
subtype in an svalue. From now on one should either set the subtype or use
the new svalue type PIKE_T_FREE (see svalue.h).

Rev: src/OCPikeInterpreter.m:1.3
Rev: src/apply_low.h:1.32
Rev: src/array.c:1.198
Rev: src/array.h:1.71
Rev: src/bignum.c:1.42
Rev: src/builtin.cmod:1.193
Rev: src/builtin_functions.c:1.650
Rev: src/configure.in:1.1038
Rev: src/cpp.c:1.164
Rev: src/encode.c:1.250
Rev: src/error.c:1.151
Rev: src/interpret.c:1.385
Rev: src/interpret_functions.h:1.197
Rev: src/iterators.cmod:1.64
Rev: src/las.c:1.403
Rev: src/main.c:1.228
Rev: src/mapping.c:1.195
Rev: src/module.c:1.47
Rev: src/modules/Gmp/mpz_glue.c:1.170
Rev: src/modules/HTTPLoop/accept_and_parse.c:1.39
Rev: src/modules/HTTPLoop/requestobject.c:1.31
Rev: src/modules/Image/colortable.c:1.130
Rev: src/modules/Java/jvm.c:1.84
Rev: src/modules/Parser/html.c:1.178
Rev: src/modules/Parser/xml.cmod:1.97
Rev: src/modules/Postgres/postgres.c:1.55
Rev: src/modules/_math/math.c:1.87
Rev: src/modules/files/sendfile.c:1.78
Rev: src/modules/spider/spider.c:1.134
Rev: src/multiset.c:1.106
Rev: src/object.c:1.281
Rev: src/operators.c:1.226
Rev: src/pike_error.h:1.42
Rev: src/post_modules/Shuffler/Shuffler.cmod:1.45
Rev: src/post_modules/_ADT/circular_list.cmod:1.18
Rev: src/post_modules/_ADT/sequence.cmod:1.19
Rev: src/program.c:1.642
Rev: src/signal_handler.c:1.331
Rev: src/sscanf.c:1.170
Rev: src/svalue.c:1.234
Rev: src/svalue.h:1.149

2:   || This file is part of Pike. For copyright information see COPYRIGHT.   || Pike is distributed under GPL, LGPL and MPL. See the file COPYING   || for more information. - || $Id: program.c,v 1.641 2008/01/24 13:58:26 mast Exp $ + || $Id: program.c,v 1.642 2008/01/26 22:34:23 mast Exp $   */      #include "global.h"
1657:    if (throw_value.type == T_STRING) {    my_yyerror("%S", throw_value.u.string);    free_svalue(&throw_value); -  throw_value.type = T_INT; +  mark_free_svalue (&throw_value);    }    else {    handle_compile_exception ("Error resolving %S.", ident);
1668:    * least in rtldebug mode, but this borken, borken, boRKen. :P */    struct svalue thrown;    move_svalue (&thrown, &throw_value); -  throw_value.type = T_INT; +  mark_free_svalue (&throw_value);   #ifdef PIKE_DEBUG    {    struct pike_string *msg = format_exception_for_error_msg (&thrown);
6754:   {    struct svalue thrown;    move_svalue (&thrown, &throw_value); -  throw_value.type = T_INT; +  mark_free_svalue (&throw_value);       if (yyerror_fmt) {    va_list args;
7350:    for (i = 0; i < p->num_constants; i++) {    free_svalue(&p->constants[i].sval);    p->constants[i].sval.type = T_INT; +  p->constants[i].sval.subtype = NUMBER_NUMBER;    }    }   
7468:    if((c->target=atarget)) add_ref(atarget);    if((c->placeholder=aplaceholder)) add_ref(aplaceholder);    c->default_module.type=T_INT; +  c->default_module.subtype = NUMBER_NUMBER;       if (c->handler)    {
8143:    {    free_svalue(& p->constants[e].sval);    p->constants[e].sval.type=T_INT; +  p->constants[e].sval.subtype = NUMBER_NUMBER;    }       for(e=0;e<p->num_inherits;e++)