CVSROOT: anonymous@cvs.sourceforge.net:/cvsroot/psyco (password authentication) cvs diff pfloatobject.c (in directory C:\Documents and Settings\End-user\My Documents\My Code\psyco\psyco\c\Objects) Index: pfloatobject.c =================================================================== RCS file: /cvsroot/psyco/psyco/c/Objects/pfloatobject.c,v retrieving revision 1.14 diff -r1.14 pfloatobject.c 203c203 < #define CONVERT_TO_DOUBLE(vobj, v1, v2) \ --- > #define CONVERT_TO_DOUBLE_CORE(vobj, v1, v2, ERRORACTION) \ 208c208 < return NULL; /* error or promotion */ \ --- > return ERRORACTION; /* error or promotion */ \ 209a210 > ERRORACTION; \ 212a214,241 > #define CONVERT_TO_DOUBLE(vobj, v1, v2) \ > CONVERT_TO_DOUBLE_CORE(vobj, v1, v2, return_null()) > > #define CONVERT_TO_DOUBLE2(uobj, u1, u2, vobj, v1, v2) \ > CONVERT_TO_DOUBLE_CORE(uobj, u1, u2, return_null()); \ > CONVERT_TO_DOUBLE_CORE(vobj, v1, v2, release_double(po, u1, u2)) > > #define RELEASE_DOUBLE(v1, v2) \ > vinfo_decref(v1, po); \ > vinfo_decref(v2, po); > > #define RELEASE_DOUBLE2(v1, v2, u1, u2) \ > vinfo_decref(v1, po); \ > vinfo_decref(v2, po); \ > vinfo_decref(u1, po); \ > vinfo_decref(u2, po); > > static vinfo_t* release_double(PsycoObject* po, vinfo_t* u1, vinfo_t* u2) { > vinfo_decref(u1, po); > vinfo_decref(u2, po); > return NULL; > } > > static vinfo_t* return_null() { > return NULL; > } > > 246,250d274 < #define RELEASE_DOUBLE(v1, v2) \ < vinfo_decref(v2, po); \ < vinfo_decref(v1, po); < < 255,256c279 < CONVERT_TO_DOUBLE(v, a1, a2); < CONVERT_TO_DOUBLE(w, b1, b2); --- > CONVERT_TO_DOUBLE2(v, a1, a2, w, b1, b2); 258,259c281 < RELEASE_DOUBLE(a1, a2); < RELEASE_DOUBLE(b1, b2); --- > RELEASE_DOUBLE2(a1, a2, b1, b2); 320,321c342 < CONVERT_TO_DOUBLE(v, a1, a2); < CONVERT_TO_DOUBLE(w, b1, b2); --- > CONVERT_TO_DOUBLE2(v, a1, a2, w, b1, b2); 325,326c346 < RELEASE_DOUBLE(b1, b2); < RELEASE_DOUBLE(a1, a2); --- > RELEASE_DOUBLE2(a1, a2, b1, b2); 338,339c358 < CONVERT_TO_DOUBLE(v, a1, a2); < CONVERT_TO_DOUBLE(w, b1, b2); --- > CONVERT_TO_DOUBLE2(v, a1, a2, w, b1, b2); 343,344c362 < RELEASE_DOUBLE(b1, b2); < RELEASE_DOUBLE(a1, a2); --- > RELEASE_DOUBLE2(a1, a2, b1, b2); 356,357c374 < CONVERT_TO_DOUBLE(v, a1, a2); < CONVERT_TO_DOUBLE(w, b1, b2); --- > CONVERT_TO_DOUBLE2(v, a1, a2, w, b1, b2); 361,362c378 < RELEASE_DOUBLE(b1, b2); < RELEASE_DOUBLE(a1, a2); --- > RELEASE_DOUBLE2(a1, a2, b1, b2); 374,375c390 < CONVERT_TO_DOUBLE(v, a1, a2); < CONVERT_TO_DOUBLE(w, b1, b2); --- > CONVERT_TO_DOUBLE2(v, a1, a2, w, b1, b2); 379,380c394 < RELEASE_DOUBLE(b1, b2); < RELEASE_DOUBLE(a1, a2); --- > RELEASE_DOUBLE2(a1, a2, b1, b2);