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---