wfs@CLI.COM (Bill Schelter) (02/01/90)
Bug in gcc 1.36 Compilation of the enclosed preprocessed file bug.c with the -O flag yields the following bad assembler (this bug does not occur in gcc 1.35): movel d0,a6@(-16) .stabd 68,0,896 movel a6@(-12),a1 movel a1@(4),d0 movel d0,a1 andl a1@(4),d0 <--- This is wrong. movel d0,_FIXtemp addl #1024,d0 the corresponding line of C is: V39= ((((FIXtemp=((( ((V37))->FIX.FIXVAL) & ( ((V38))->FIX.FIXVAL))))+1024)&-2048)==0? (object)(small_fixnum_table+1024+(FIXtemp)):make_fixnum(FIXtemp)); Print out of compiler flags: /usr/local/src/gcc-1.36/cpp -v -undef -D__GNUC__ -Dmc68000 -Dsun -Dunix -D__mc68000__ -D__sun__ -D__unix__ -D__OPTIMIZE__ -D__HAVE_68881__ -Dmc68020 bug.c /tmp/cca26693.cpp GNU CPP version 1.36 /usr/local/src/gcc-1.36/cc1 /tmp/cca26693.cpp -quiet -dumpbase bug.c -g -O -version -o bug.s GNU C version 1.36 (68k, MIT syntax) compiled by GNU C version 1.36. default target switches: -m68020 -mc68020 -m68881 -mbitfield Inserting file ~/tmp/bug.c ---Begin File ~/tmp/bug.c--- # 1 "newtrouble.c" # 1 "/usr/include/stdio.h" 1 extern struct _iobuf { int _cnt; unsigned char *_ptr; unsigned char *_base; int _bufsiz; short _flag; char _file; } _iob[]; extern struct _iobuf *fopen(); extern struct _iobuf *fdopen(); extern struct _iobuf *freopen(); extern struct _iobuf *popen(); extern struct _iobuf *tmpfile(); extern long ftell(); extern char *fgets(); extern char *gets(); # 52 "/usr/include/stdio.h" extern char *ctermid(); extern char *cuserid(); extern char *tempnam(); extern char *tmpnam(); # 14 "newtrouble.c" 2 # 1 "/usr/include/setjmp.h" 1 # 5 "/usr/include/setjmp.h" typedef int jmp_buf[15]; # 15 "newtrouble.c" 2 # 1 "/usr/include/varargs.h" 1 typedef char *va_list; # 16 "newtrouble.c" 2 # 21 "newtrouble.c" typedef int bool; typedef int fixnum; typedef float shortfloat; typedef double longfloat; typedef unsigned short fatchar; typedef union lispunion *object; typedef union int_object iobject; union int_object {int i; object o;}; struct fixnum_struct { short t,m; fixnum FIXVAL; }; extern struct fixnum_struct small_fixnum_table[]; struct shortfloat_struct { short t,m; shortfloat SFVAL; }; struct longfloat_struct { short t,m; longfloat LFVAL; }; struct character { short t,m; unsigned short ch_code; unsigned char ch_font; unsigned char ch_bits; }; struct character character_table1[256+128]; enum stype { stp_ordinary, stp_constant, stp_special }; struct symbol { short t,m; object s_dbind; int (*s_sfdef)(); int st_fillp; char * st_self; object s_gfdef; object s_plist; object s_hpack; short s_stype; short s_mflag; }; struct cons { short t,m; object c_cdr; object c_car; }; struct array { short t,m; short a_rank; short a_adjustable; int a_dim; int *a_dims; object *a_self; object a_displaced; short a_elttype; short a_offset; }; struct fat_string { short t,m; unsigned fs_raw : 24; unsigned char fs_leader_length; int fs_dim; int fs_fillp; fatchar *fs_self; }; struct vector { short t,m; short v_hasfillp; short v_adjustable; int v_dim; int v_fillp; object *v_self; object v_displaced; short v_elttype; short v_offset; }; struct string { short t,m; short st_hasfillp; short st_adjustable; int st_dim; int st_fillp; char *st_self; object st_displaced; }; struct ustring { short t,m; short ust_hasfillp; short ust_adjustable; int ust_dim; int ust_fillp; unsigned char *ust_self; object ust_displaced; }; struct bitvector { short t,m; short bv_hasfillp; short bv_adjustable; int bv_dim; int bv_fillp; char *bv_self; object bv_displaced; short bv_elttype; short bv_offset; }; struct fixarray { short t,m; short fixa_rank; short fixa_adjustable; int fixa_dim; int *fixa_dims; fixnum *fixa_self; object fixa_displaced; short fixa_elttype; short fixa_offset; }; struct sfarray { short t,m; short sfa_rank; short sfa_adjustable; int sfa_dim; int *sfa_dims; shortfloat *sfa_self; object sfa_displaced; short sfa_elttype; short sfa_offset; }; struct lfarray { short t,m; short lfa_rank; short lfa_adjustable; int lfa_dim; int *lfa_dims; longfloat *lfa_self; object lfa_displaced; short lfa_elttype; short lfa_offset; }; struct structure { short t,m; object str_def; object *str_self; }; struct cfun { short t,m; object cf_name; int (*cf_self)(); object cf_data; }; struct dclosure { short t,m; int (*dc_self)(); object *dc_env; }; struct cclosure { short t,m; object cc_name; int (*cc_self)(); object cc_env; object cc_data; object *cc_turbo; }; struct sfun { short t,m; object sfn_name; int (*sfn_self)(); object sfn_data; int sfn_argd; }; struct vfun { short t,m; object vfn_name; int (*vfn_self)(); object vfn_data; unsigned short vfn_minargs; unsigned short vfn_maxargs; }; struct dummy { short t,m; }; struct stream { short t,m; struct _iobuf *sm_fp; object sm_object0; object sm_object1; int sm_int0; int sm_int1; short sm_mode; }; union lispunion { struct fixnum_struct FIX; struct shortfloat_struct SF; struct stream sm; struct longfloat_struct LF; struct character ch; struct symbol s; struct cons c; struct array a; struct vector v; struct string st; struct ustring ust; struct bitvector bv; struct structure str; struct cfun cf; struct cclosure cc; struct sfun sfn; struct vfun vfn; struct dummy d; struct fat_string fs; struct dclosure dc; struct fixarray fixa; struct sfarray sfa; struct lfarray lfa; }; enum type { t_cons, t_start = 0 , t_fixnum, t_bignum, t_ratio, t_shortfloat, t_longfloat, t_complex, t_character, t_symbol, t_package, t_hashtable, t_array, t_vector, t_string, t_bitvector, t_structure, t_stream, t_random, t_readtable, t_pathname, t_cfun, t_cclosure, t_sfun, t_gfun, t_vfun, t_cfdata, t_spice, t_fat_string, t_dclosure, t_end, t_contiguous, t_relocatable, t_other }; extern object value_stack[]; object *vs_limit; object *vs_base; object *vs_top; struct bds_bd { object bds_sym; object bds_val; }; extern struct bds_bd bind_stack[]; typedef struct bds_bd *bds_ptr; bds_ptr bds_org; bds_ptr bds_limit; bds_ptr bds_top; typedef struct invocation_history { object ihs_function; object *ihs_base; } *ihs_ptr; extern struct invocation_history ihs_stack[]; ihs_ptr ihs_org; ihs_ptr ihs_limit; ihs_ptr ihs_top; enum fr_class { FRS_CATCH, FRS_CATCHALL, FRS_PROTECT }; struct frame { jmp_buf frs_jmpbuf; object *frs_lex; bds_ptr frs_bds_top; enum fr_class frs_class; object frs_val; ihs_ptr frs_ihs; }; typedef struct frame *frame_ptr; extern struct frame frame_stack[]; frame_ptr frs_org; frame_ptr frs_limit; frame_ptr frs_top; bool nlj_active; frame_ptr nlj_fr; object nlj_tag; object *lex_env; object caar(); object cadr(); object cdar(); object cddr(); object caaar(); object caadr(); object cadar(); object caddr(); object cdaar(); object cdadr(); object cddar(); object cdddr(); object caaaar(); object caaadr(); object caadar(); object caaddr(); object cadaar(); object cadadr(); object caddar(); object cadddr(); object cdaaar(); object cdaadr(); object cdadar(); object cdaddr(); object cddaar(); object cddadr(); object cdddar(); object cddddr(); object simple_lispcall(); object simple_lispcall_no_event(); object simple_symlispcall(); object simple_symlispcall_no_event(); object CMPtemp; object CMPtemp1; object CMPtemp2; object CMPtemp3; struct symbol Cnil_body, Ct_body; object MF(); object MFnew(); object MM(); object Scons; object siSfunction_documentation; object siSvariable_documentation; object siSpretty_print_format; object Slist; object keyword_package; object alloc_object(); object car(); object cdr(); object list(); object listA(); object coerce_to_string(); object elt(); object elt_set(); frame_ptr frs_sch(); frame_ptr frs_sch_catch(); object make_cclosure(); object nth(); object nthcdr(); object make_cons(); object append(); object nconc(); object reverse(); object nreverse(); object number_expt(); object number_minus(); object number_negate(); object number_plus(); object number_times(); object one_minus(); object one_plus(); object get(); object getf(); object putprop(); object remprop(); object string_to_object(); object symbol_function(); object symbol_value(); object make_fixnum(); object make_shortfloat(); object make_longfloat(); object structure_ref(); object structure_set(); object princ(); object prin1(); object print(); object terpri(); object aref(); object aset(); object aref1(); object aset1(); void call_or_link(); object call_proc(); object call_proc0(); object call_proc1(); object call_proc2(); object ifuncall(); object ifuncall1(); object ifuncall2(); object symbol_name(); char object_to_char(); int object_to_int(); float object_to_float(); double object_to_double(); char *object_to_string(); int FIXtemp; double sin(), cos(), tan(); object read_byte1(),read_char1(); object make_list(); char *alloca(); char *alloca_val; object on_stack_cons(); object on_stack_list(); object on_stack_list_vector(); object on_stack_make_list(); # 594 "newtrouble.c" struct call_data { object fun; int argd;}; struct call_data fcall; object fcalln(); object list_vector(); object MVloc[10]; extern object Cstd_key_defaults[]; int vfun_wrong_number_of_args(); # 1 "./newtrouble.h" 1 static L1(); static char *Cstart;static int Csize;static object Cdata; static object VV[19]; static LnkT17() ; static (*Lnk17)() = LnkT17; static LnkT16() ; static (*Lnk16)() = LnkT16; static LnkT15() ; static (*Lnk15)() = LnkT15; static object LnkTLI14() ; static object (*LnkLI14)() = LnkTLI14; static LnkT13() ; static (*Lnk13)() = LnkT13; static LnkT12() ; static (*Lnk12)() = LnkT12; static LnkT11() ; static (*Lnk11)() = LnkT11; static LnkT10() ; static (*Lnk10)() = LnkT10; # 613 "newtrouble.c" 2 init_code(start,size,data)char *start;int size;object data; { register object *base=vs_top; register object *sup=base+0;vs_top=sup;if (vs_top >= vs_limit) vs_overflow();; Cstart=start;Csize=size;Cdata=data;set_VV_data(VV,19,data,start,size); data->v.v_self[2]=VV[2]=string_to_object(VV[2]); vs_top=sup; data->v.v_self[5]=VV[5]=string_to_object(VV[5]); vs_top=sup; data->v.v_self[7]=VV[7]=string_to_object(VV[7]); vs_top=sup; MFnew(VV[8],L1,data); (void)putprop(VV[8],VV[18],VV[9]); vs_top=vs_base=base; } static L1() {register object *base=vs_base; register object *sup=base+21; object V83 ,V81 ,V80 ,V78 ,V70 ,V68 ,V67 ,V65 ,V57 ,V54 ,V51 ,V50 ,V49 ,V48 ,V47 ,V26 ,V25 ,V24 ,V22; int V17 ,V15; if (vs_top >= vs_limit) vs_overflow();; {object V1; register object V2; register object V3; register object V4; V1=(base[0]); V2=(base[1]); V3=(base[2]); V4=(base[3]); vs_top=sup; TTL:; {register object V5; register object V6; if(!( ((enum type)(((object)(V1))->d.t))==t_cons)){ goto T3;} if(!( (V1)->c.c_car==VV[0])){ goto T3;} (void)((MVloc[(1)]=( ( (V1)->c.c_cdr)->c.c_car))); V5= ((object)&Ct_body); goto T1; T3:; (void)((MVloc[(1)]=(V1))); V5= ((object)&Cnil_body); T1:; V6= (MVloc[(1)]); if(!( ((enum type)(((object)((V6)))->d.t))!=t_cons)){ goto T11;} base[4]= (V5); base[5]= (V6); base[6]= (V2); base[7]= (V3); base[8]= (V4); vs_top=(vs_base=base+4)+5; (void) (*Lnk10)(); return; T11:; if(!(VV[1]== ((V6))->c.c_car)){ goto T19;} if(!(equal((V6),VV[2]))){ goto T22;} base[4]= (V5); base[5]= ((object)&Cnil_body); base[6]= ((object)&Ct_body); base[7]= ((object)&Cnil_body); base[8]= (V3); vs_top=(vs_base=base+4)+5; (void) (*Lnk11)(); return; T22:; base[4]= (V5); base[5]= ((object)&Ct_body); base[6]= ((object)&Cnil_body); base[7]= (V3); base[8]= ((object)&Cnil_body); vs_top=(vs_base=base+4)+5; (void) (*Lnk11)(); return; T19:; if(!( ((enum type)(((object)( (V6)->c.c_car))->d.t))==t_cons)){ goto T35;} base[4]= (V5); base[5]= (V6); base[6]= (V2); base[7]= (V3); base[8]= (V4); vs_top=(vs_base=base+4)+5; (void) (*Lnk10)(); return; T35:; {object V11; base[4]= ((V6))->c.c_car; base[6]= VV[3]; base[7]= (V4); vs_top=(vs_base=base+6)+2; (void) (*Lnk12)(); vs_top=sup; base[5]= vs_base[0]; vs_top=(vs_base=base+4)+2; (void) (*Lnk13)(); vs_top=sup; V11= vs_base[0]; if(((V11))==((object)&Cnil_body)){ goto T48;} {object V12; object V13; object V14; V12= (*(LnkLI14))( ( ((V6))->c.c_cdr)->c.c_car,(V2),(V3),(V4)); V15= ( ( (V11)->c.c_cdr)->c.c_car)->FIX.FIXVAL; V13= ((((FIXtemp=((( ((V12))->FIX.FIXVAL) & (V15))))+1024)&-2048)==0? (object)(small_fixnum_table+1024+(FIXtemp)):make_fixnum(FIXtemp)); V17= ( ( ( (V11)->c.c_cdr)->c.c_cdr)->c.c_car)->FIX.FIXVAL; V14= ((((FIXtemp=((( ((V12))->FIX.FIXVAL) & (V17))))+1024)&-2048)==0? (object)(small_fixnum_table+1024+(FIXtemp)):make_fixnum(FIXtemp)); if(!(( ((V13))->FIX.FIXVAL)==(0))){ goto T56;} base[7]= (V5); base[8]= ((object)&Cnil_body); base[9]= ((object)&Ct_body); base[10]= ((object)&Cnil_body); base[11]= (V3); vs_top=(vs_base=base+7)+5; (void) (*Lnk11)(); return; T56:; if(!(( ((V14))->FIX.FIXVAL)==(0))){ goto T64;} base[7]= (V5); base[8]= ((object)&Ct_body); base[9]= ((object)&Cnil_body); base[10]= (V3); base[11]= ((object)&Cnil_body); vs_top=(vs_base=base+7)+5; (void) (*Lnk11)(); return; T64:; {object V19; object V20; if(( ( ( (V11)->c.c_cdr)->c.c_cdr)->c.c_cdr)==((object)&Cnil_body)){ goto T73;} V19= (V3); goto T71; T73:; V22= make_cons((V6), (object)(small_fixnum_table+1024+(64))); V19= make_cons(V22,(V3)); T71:; if(( ( ( (V11)->c.c_cdr)->c.c_cdr)->c.c_cdr)==((object)&Cnil_body)){ goto T77;} V20= (V3); goto T75; T77:; V24= make_cons((V6), (object)(small_fixnum_table+1024+(32))); V20= make_cons(V24,(V3)); T75:; base[7]= (V5); base[8]= ((object)&Cnil_body); base[9]= ((object)&Cnil_body); V25= make_cons( ( ((V6))->c.c_cdr)->c.c_car,(V13)); base[10]= make_cons(V25,(V19)); V26= make_cons( ( ((V6))->c.c_cdr)->c.c_car,(V14)); base[11]= make_cons(V26,(V20)); vs_top=(vs_base=base+7)+5; (void) (*Lnk11)(); return;}} T48:; if(!( ((V6))->c.c_car==VV[4])){ goto T85;} {object V27; object V28; V27= ( ((V6))->c.c_cdr)->c.c_car; V28= ( ( ((V6))->c.c_cdr)->c.c_cdr)->c.c_car; if(!(equal((V27),(V28)))){ goto T90;} base[4]= (V5); base[5]= ((object)&Ct_body); base[6]= ((object)&Cnil_body); base[7]= (V3); base[8]= ((object)&Cnil_body); vs_top=(vs_base=base+4)+5; (void) (*Lnk11)(); return; T90:; {object V29; base[4]= (V6); base[5]= (V3); vs_top=(vs_base=base+4)+2; (void) (*Lnk15)(); vs_top=sup; V29= vs_base[0]; if(((V29))==((object)&Cnil_body)){ goto T101;} if(!(( ( ((V29))->c.c_cdr)->FIX.FIXVAL)==(64))){ goto T104;} base[4]= (V5); base[5]= ((object)&Ct_body); base[6]= ((object)&Cnil_body); base[7]= (V3); base[8]= ((object)&Cnil_body); vs_top=(vs_base=base+4)+5; (void) (*Lnk11)(); return; T104:; if(!(( ( ((V29))->c.c_cdr)->FIX.FIXVAL)==(32))){ goto T112;} base[4]= (V5); base[5]= ((object)&Cnil_body); base[6]= ((object)&Ct_body); base[7]= ((object)&Cnil_body); base[8]= (V3); vs_top=(vs_base=base+4)+5; (void) (*Lnk11)(); return; T112:; {object V30; base[4]= (V3); base[5]= (V6); base[6]= (V29); vs_top=(vs_base=base+4)+3; (void) (*Lnk16)(); vs_top=sup; V30= vs_base[0]; (void)((MVloc[(1)]=(((object)&Cnil_body)))); (void)((MVloc[(2)]=(((object)&Cnil_body)))); (void)((MVloc[(3)]=(((object)&Cnil_body)))); base[4]= V30; vs_top=(vs_base=base+4)+1; return;} T101:; {object V32; object V33; V32= list(3,VV[4],(V28),(V27)); base[6]= (V32); base[7]= (V3); vs_top=(vs_base=base+6)+2; (void) (*Lnk15)(); vs_top=sup; V33= vs_base[0]; if(((V33))==((object)&Cnil_body)){ goto T131;} if(!(( ( ((V33))->c.c_cdr)->FIX.FIXVAL)==(64))){ goto T134;} base[6]= (V5); base[7]= ((object)&Ct_body); base[8]= ((object)&Cnil_body); base[9]= (V3); base[10]= ((object)&Cnil_body); vs_top=(vs_base=base+6)+5; (void) (*Lnk11)(); return; T134:; if(!(( ( ((V33))->c.c_cdr)->FIX.FIXVAL)==(32))){ goto T142;} base[6]= (V5); base[7]= ((object)&Cnil_body); base[8]= ((object)&Ct_body); base[9]= ((object)&Cnil_body); base[10]= (V3); vs_top=(vs_base=base+6)+5; (void) (*Lnk11)(); return; T142:; {object V34; base[6]= (V3); base[7]= (V32); base[8]= (V33); vs_top=(vs_base=base+6)+3; (void) (*Lnk16)(); vs_top=sup; V34= vs_base[0]; (void)((MVloc[(1)]=(((object)&Cnil_body)))); (void)((MVloc[(2)]=(((object)&Cnil_body)))); (void)((MVloc[(3)]=(((object)&Cnil_body)))); base[6]= V34; vs_top=(vs_base=base+6)+1; return;} T131:; {object V36; register object V37; object V38; object V39; base[10]= (V27); base[11]= (V28); vs_top=(vs_base=base+10)+2; (void) (*Lnk17)(); vs_top=sup; V36= vs_base[0]; V37= (*(LnkLI14))((V27),(V2),(V3),(V4)); V38= (*(LnkLI14))((V28),(V2),(V3),(V4)); V39= ((((FIXtemp=((( ((V37))->FIX.FIXVAL) & ( ((V38))->FIX.FIXVAL))))+1024)&-2048)==0? (object)(small_fixnum_table+1024+(FIXtemp)):make_fixnum(FIXtemp)); if(!(( ((V39))->FIX.FIXVAL)==(0))){ goto T163;} base[10]= (V5); base[11]= ((object)&Cnil_body); base[12]= ((object)&Ct_body); base[13]= ((object)&Cnil_body); base[14]= (V3); vs_top=(vs_base=base+10)+5; (void) (*Lnk11)(); return; T163:; if(!(( ((V37))->FIX.FIXVAL)==( ((V38))->FIX.FIXVAL))){ goto T171;} {register object x= (V37),V40= VV[5]; while(V40!=((object)&Cnil_body)) if(eql(x,V40->c.c_car)){ goto T174; }else V40=V40->c.c_cdr; goto T171;} T174:; base[10]= (V5); base[11]= ((object)&Ct_body); base[12]= ((object)&Cnil_body); base[13]= (V3); base[14]= ((object)&Cnil_body); vs_top=(vs_base=base+10)+5; (void) (*Lnk11)(); return; T171:; {object V41; object V42; object V43; object V44; object V45; object V46; if(((V36))==((object)&Cnil_body)){ goto T183;} V47= (V32); goto T181; T183:; V47= (V6); T181:; V48= make_cons(V47, (object)(small_fixnum_table+1024+(64))); V41= make_cons(V48,(V3)); if(!(( ((V37))->FIX.FIXVAL)==( ((V39))->FIX.FIXVAL))){ goto T187;} V42= (V41); goto T185; T187:; V49= make_cons((V27),(V39)); V42= make_cons(V49,(V41)); T185:; if(!(( ((V38))->FIX.FIXVAL)==( ((V39))->FIX.FIXVAL))){ goto T191;} V43= (V42); goto T189; T191:; V50= make_cons((V28),(V39)); V43= make_cons(V50,(V42)); T189:; V51= make_cons((V6), (object)(small_fixnum_table+1024+(32))); V44= listA(3,V51,make_cons((V32), (object)(small_fixnum_table+1024+(32))),(V3)); {register object x= (V38),V52= VV[5]; while(V52!=((object)&Cnil_body)) if(eql(x,V52->c.c_car)){ goto T197; }else V52=V52->c.c_cdr; goto T196;} T197:;{object V53; V53= ((((FIXtemp=((( ((V37))->FIX.FIXVAL) & ((~( ((V38))->FIX.FIXVAL))))))+1024)&-2048)==0? (object)(small_fixnum_table+1024+(FIXtemp)):make_fixnum(FIXtemp)); V54= make_cons((V27),V53); V45= make_cons(V54,(V44)); goto T194;} T196:; V45= (V44); T194:; {register object x= (V37),V55= VV[5]; while(V55!=((object)&Cnil_body)) if(eql(x,V55->c.c_car)){ goto T201; }else V55=V55->c.c_cdr; goto T200;} T201:;{object V56; V56= ((((FIXtemp=((( ((V38))->FIX.FIXVAL) & ((~( ((V37))->FIX.FIXVAL))))))+1024)&-2048)==0? (object)(small_fixnum_table+1024+(FIXtemp)):make_fixnum(FIXtemp)); V57= make_cons((V28),V56); V46= make_cons(V57,(V45)); goto T198;} T200:; V46= (V45); T198:; base[16]= (V5); base[17]= ((object)&Cnil_body); base[18]= ((object)&Cnil_body); base[19]= (V43); base[20]= (V46); vs_top=(vs_base=base+16)+5; (void) (*Lnk11)(); return;}}}}} T85:; if(!( ((V6))->c.c_car==VV[6])){ goto T208;} if(!(equal( ( ((V6))->c.c_cdr)->c.c_car,VV[7]))){ goto T211;} {object V58; V58= (*(LnkLI14))( ( ( ((V6))->c.c_cdr)->c.c_cdr)->c.c_car,(V2),(V3),(V4)); if(!(((( (V58)->FIX.FIXVAL) & ( ( (object)(small_fixnum_table+1024+(31)))->FIX.FIXVAL)))==( (V58)->FIX.FIXVAL))){ goto T215;} if(!(((( (V58)->FIX.FIXVAL) & ( ( (object)(small_fixnum_table+1024+(6)))->FIX.FIXVAL)))==( (V58)->FIX.FIXVAL))){ goto T218;} base[4]= (V5); base[5]= ((object)&Ct_body); base[6]= ((object)&Cnil_body); base[7]= (V3); base[8]= ((object)&Cnil_body); vs_top=(vs_base=base+4)+5; (void) (*Lnk11)(); return; T218:; if(!(((( (V58)->FIX.FIXVAL) & ( ( (object)(small_fixnum_table+1024+(25)))->FIX.FIXVAL)))==( (V58)->FIX.FIXVAL))){ goto T226;} base[4]= (V5); base[5]= ((object)&Cnil_body); base[6]= ((object)&Ct_body); base[7]= ((object)&Cnil_body); base[8]= (V3); vs_top=(vs_base=base+4)+5; (void) (*Lnk11)(); return; T226:; base[4]= (V5); base[5]= ((object)&Cnil_body); base[6]= ((object)&Cnil_body); V65= ( ( ((V6))->c.c_cdr)->c.c_cdr)->c.c_car;{object V66; V66= ((((FIXtemp=((( ((V58))->FIX.FIXVAL) & (6))))+1024)&-2048)==0? (object)(small_fixnum_table+1024+(FIXtemp)):make_fixnum(FIXtemp)); V67= make_cons(V65,V66); base[7]= make_cons(V67,(V3));} V68= ( ( ((V6))->c.c_cdr)->c.c_cdr)->c.c_car;{object V69; V69= ((((FIXtemp=((( ((V58))->FIX.FIXVAL) & (25))))+1024)&-2048)==0? (object)(small_fixnum_table+1024+(FIXtemp)):make_fixnum(FIXtemp)); V70= make_cons(V68,V69); base[8]= make_cons(V70,(V3));} vs_top=(vs_base=base+4)+5; (void) (*Lnk11)(); return; T215:; base[4]= (V5); base[5]= (V6); base[6]= (V2); base[7]= (V3); base[8]= (V4); vs_top=(vs_base=base+4)+5; (void) (*Lnk10)(); return;} T211:; if(!(equal( ( ( ((V6))->c.c_cdr)->c.c_cdr)->c.c_car,VV[7]))){ goto T244;} {object V71; V71= (*(LnkLI14))( ( ((V6))->c.c_cdr)->c.c_car,(V2),(V3),(V4)); if(!(((( (V71)->FIX.FIXVAL) & ( ( (object)(small_fixnum_table+1024+(31)))->FIX.FIXVAL)))==( (V71)->FIX.FIXVAL))){ goto T248;} if(!(((( (V71)->FIX.FIXVAL) & ( ( (object)(small_fixnum_table+1024+(24)))->FIX.FIXVAL)))==( (V71)->FIX.FIXVAL))){ goto T251;} base[4]= (V5); base[5]= ((object)&Ct_body); base[6]= ((object)&Cnil_body); base[7]= (V3); base[8]= ((object)&Cnil_body); vs_top=(vs_base=base+4)+5; (void) (*Lnk11)(); return; T251:; if(!(((( (V71)->FIX.FIXVAL) & ( ( (object)(small_fixnum_table+1024+(7)))->FIX.FIXVAL)))==( (V71)->FIX.FIXVAL))){ goto T259;} base[4]= (V5); base[5]= ((object)&Cnil_body); base[6]= ((object)&Ct_body); base[7]= ((object)&Cnil_body); base[8]= (V3); vs_top=(vs_base=base+4)+5; (void) (*Lnk11)(); return; T259:; base[4]= (V5); base[5]= ((object)&Cnil_body); base[6]= ((object)&Cnil_body); V78= ( ((V6))->c.c_cdr)->c.c_car;{object V79; V79= ((((FIXtemp=((( ((V71))->FIX.FIXVAL) & (24))))+1024)&-2048)==0? (object)(small_fixnum_table+1024+(FIXtemp)):make_fixnum(FIXtemp)); V80= make_cons(V78,V79); base[7]= make_cons(V80,(V3));} V81= ( ((V6))->c.c_cdr)->c.c_car;{object V82; V82= ((((FIXtemp=((( ((V71))->FIX.FIXVAL) & (7))))+1024)&-2048)==0? (object)(small_fixnum_table+1024+(FIXtemp)):make_fixnum(FIXtemp)); V83= make_cons(V81,V82); base[8]= make_cons(V83,(V3));} vs_top=(vs_base=base+4)+5; (void) (*Lnk11)(); return; T248:; base[4]= (V5); base[5]= (V6); base[6]= (V2); base[7]= (V3); base[8]= (V4); vs_top=(vs_base=base+4)+5; (void) (*Lnk10)(); return;} T244:; base[4]= (V5); base[5]= (V6); base[6]= (V2); base[7]= (V3); base[8]= (V4); vs_top=(vs_base=base+4)+5; (void) (*Lnk10)(); return; T208:; base[4]= (V5); base[5]= (V6); base[6]= (V2); base[7]= (V3); base[8]= (V4); vs_top=(vs_base=base+4)+5; (void) (*Lnk10)(); return;}} } } static LnkT17(){ call_or_link(VV[17],&Lnk17);} static LnkT16(){ call_or_link(VV[16],&Lnk16);} static LnkT15(){ call_or_link(VV[15],&Lnk15);} static object LnkTLI14(va_alist)int va_alist;{va_list ap; ap = (char *) &va_alist;return(object )call_proc(VV[14],&LnkLI14,4,ap);} static LnkT13(){ call_or_link(VV[13],&Lnk13);} static LnkT12(){ call_or_link(VV[12],&Lnk12);} static LnkT11(){ call_or_link(VV[11],&Lnk11);} static LnkT10(){ call_or_link(VV[10],&Lnk10);} ---End File ~/tmp/bug.c---