Branch: Tag:

2000-07-28

2000-07-28 17:16:56 by Fredrik Hübinette (Hubbe) <hubbe@hubbe.net>

JUMBOPATCH: dynamic loading now works on Win* !!!! (somewhat experimental :)

Rev: src/.cvsignore:1.24
Rev: src/Makefile.in:1.198
Rev: src/aclocal.m4:1.17
Rev: src/array.c:1.79
Rev: src/array.h:1.22
Rev: src/backend.c:1.53
Rev: src/backend.h:1.9
Rev: src/bignum.c:1.17
Rev: src/bignum.h:1.14
Rev: src/builtin_functions.c:1.293
Rev: src/builtin_functions.h:1.14
Rev: src/callback.c:1.20
Rev: src/configure.in:1.387
Rev: src/constants.c:1.22
Rev: src/dynamic_buffer.c:1.10
Rev: src/dynamic_load.c:1.41
Rev: src/error.c:1.56
Rev: src/error.h:1.46
Rev: src/fd_control.c:1.32
Rev: src/fdlib.c:1.37
Rev: src/fdlib.h:1.34
Rev: src/fsort.c:1.13
Rev: src/fsort_template.h:1.7
Rev: src/gc.c:1.110
Rev: src/gc.h:1.57
Rev: src/global.h:1.44
Rev: src/interpret.c:1.158
Rev: src/interpret.h:1.52
Rev: src/main.c:1.94
Rev: src/mapping.c:1.94
Rev: src/mapping.h:1.28
Rev: src/module_magic.h:1.1
Rev: src/module_support.c:1.34
Rev: src/module_support.h:1.7
Rev: src/multiset.c:1.26
Rev: src/object.c:1.137
Rev: src/object.h:1.50
Rev: src/opcodes.c:1.78
Rev: src/operators.c:1.93
Rev: src/operators.h:1.8
Rev: src/pike_macros.h:1.17
Rev: src/pike_memory.c:1.71
Rev: src/pike_memory.h:1.14
Rev: src/pike_types.c:1.132
Rev: src/port.c:1.28
Rev: src/precompile.sh.in:1.2
Rev: src/program.c:1.252
Rev: src/program.h:1.97
Rev: src/signal_handler.c:1.173
Rev: src/stralloc.c:1.85
Rev: src/stralloc.h:1.42
Rev: src/stuff.c:1.11
Rev: src/svalue.c:1.85
Rev: src/svalue.h:1.62
Rev: src/testsuite.in:1.316
Rev: src/threads.c:1.133
Rev: src/threads.h:1.99

6:   /**/   #include "global.h"   #include <math.h> - RCSID("$Id: operators.c,v 1.92 2000/05/01 03:33:47 hubbe Exp $"); + RCSID("$Id: operators.c,v 1.93 2000/07/28 17:16:55 hubbe Exp $");   #include "interpret.h"   #include "svalue.h"   #include "multiset.h"
36:    math_error(FUNC, sp-2, 2, 0, "Modulo by zero.\n")      #define COMPARISON(ID,NAME,FUN) \ - void ID(INT32 args) \ + PMOD_EXPORT void ID(INT32 args) \   { \    int i; \    switch(args) \
57:    } \   }    - void f_ne(INT32 args) + PMOD_EXPORT void f_ne(INT32 args)   {    f_eq(args);    o_not();
83:    sp--; \    dmalloc_touch_svalue(sp);    - void f_add(INT32 args) + PMOD_EXPORT void f_add(INT32 args)   {    INT_TYPE e,size;    TYPE_FIELD types;
688:   struct mapping *merge_mapping_array_unordered(struct mapping *a,    struct array *b, INT32 op);    - void o_subtract(void) + PMOD_EXPORT void o_subtract(void)   {    if (sp[-2].type != sp[-1].type && !float_promote())    {
802:    }   }    - void f_minus(INT32 args) + PMOD_EXPORT void f_minus(INT32 args)   {    switch(args)    {
842:    return 0;   }    - void o_and(void) + PMOD_EXPORT void o_and(void)   {    if(sp[-1].type != sp[-2].type)    {
1108:    }   }    - void f_and(INT32 args) + PMOD_EXPORT void f_and(INT32 args)   {    switch(args)    {
1143:    }   }    - void o_or(void) + PMOD_EXPORT void o_or(void)   {    if(sp[-1].type != sp[-2].type)    {
1282:    }   }    - void f_or(INT32 args) + PMOD_EXPORT void f_or(INT32 args)   {    switch(args)    {
1318:   }       - void o_xor(void) + PMOD_EXPORT void o_xor(void)   {    if(sp[-1].type != sp[-2].type)    {
1461:    }   }    - void f_xor(INT32 args) + PMOD_EXPORT void f_xor(INT32 args)   {    switch(args)    {
1496:    }   }    - void o_lsh(void) + PMOD_EXPORT void o_lsh(void)   {   #ifdef AUTO_BIGNUM    if(INT_TYPE_LSH_OVERFLOW(sp[-2].u.integer, sp[-1].u.integer))
1517:    sp[-1].u.integer = sp[-1].u.integer << sp->u.integer;   }    - void f_lsh(INT32 args) + PMOD_EXPORT void f_lsh(INT32 args)   {    if(args != 2) {    /* FIXME: Not appropriate if too many args. */
1537:    return 0;   }    - void o_rsh(void) + PMOD_EXPORT void o_rsh(void)   {    if(sp[-2].type != T_INT || sp[-1].type != T_INT)    {
1562:    sp[-1].u.integer = sp[-1].u.integer >> sp->u.integer;   }    - void f_rsh(INT32 args) + PMOD_EXPORT void f_rsh(INT32 args)   {    if(args != 2) {    /* FIXME: Not appropriate if too many args. */
1584:         #define TWO_TYPES(X,Y) (((X)<<8)|(Y)) - void o_multiply(void) + PMOD_EXPORT void o_multiply(void)   {    int args = 2;    switch(TWO_TYPES(sp[-2].type,sp[-1].type))
1685:    }   }    - void f_multiply(INT32 args) + PMOD_EXPORT void f_multiply(INT32 args)   {    switch(args)    {
1720:    }   }    - void o_divide(void) + PMOD_EXPORT void o_divide(void)   {    if(sp[-2].type!=sp[-1].type && !float_promote())    {
1976:    }   }    - void f_divide(INT32 args) + PMOD_EXPORT void f_divide(INT32 args)   {    switch(args)    {
2010:    return 0;   }    - void o_mod(void) + PMOD_EXPORT void o_mod(void)   {    if(sp[-2].type != sp[-1].type && !float_promote())    {
2113:    }   }    - void f_mod(INT32 args) + PMOD_EXPORT void f_mod(INT32 args)   {    if(args != 2) {    /* FIXME: Not appropriate when too many args. */
2133:    return 0;   }    - void o_not(void) + PMOD_EXPORT void o_not(void)   {    switch(sp[-1].type)    {
2160:    }   }    - void f_not(INT32 args) + PMOD_EXPORT void f_not(INT32 args)   {    if(args != 1) {    /* FIXME: Not appropriate with too many args. */
2180:    return 0;   }    - void o_compl(void) + PMOD_EXPORT void o_compl(void)   {    switch(sp[-1].type)    {
2252:    }   }    - void f_compl(INT32 args) + PMOD_EXPORT void f_compl(INT32 args)   {    if(args != 1) {    /* FIXME: Not appropriate with too many args. */
2272:    return 0;   }    - void o_negate(void) + PMOD_EXPORT void o_negate(void)   {    switch(sp[-1].type)    {
2301:    }   }    - void o_range(void) + PMOD_EXPORT void o_range(void)   {    INT32 from,to;   
2367:    }   }    - void f_index(INT32 args) + PMOD_EXPORT void f_index(INT32 args)   {    switch(args)    {
2387:    }   }    - void f_arrow(INT32 args) + PMOD_EXPORT void f_arrow(INT32 args)   {    switch(args)    {
2405:    }   }    - void f_index_assign(INT32 args) + PMOD_EXPORT void f_index_assign(INT32 args)   {    switch (args) {    case 0:
2424:    }   }    - void f_arrow_assign(INT32 args) + PMOD_EXPORT void f_arrow_assign(INT32 args)   {    switch (args) {    case 0:
2443:    }   }    - void f_sizeof(INT32 args) + PMOD_EXPORT void f_sizeof(INT32 args)   {    INT32 tmp;    if(args<1)