~ubuntu-branches/ubuntu/quantal/gclcvs/quantal

« back to all changes in this revision

Viewing changes to clcs/c/clcs_conditions.c

  • Committer: Bazaar Package Importer
  • Author(s): Camm Maguire
  • Date: 2004-06-24 15:13:46 UTC
  • Revision ID: james.westby@ubuntu.com-20040624151346-xh0xaaktyyp7aorc
Tags: 2.7.0-26
C_GC_OFFSET is 2 on m68k-linux

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
 
 
2
#include "cmpinclude.h"
 
3
#include "clcs_conditions.h"
 
4
void init_clcs_conditions(){do_init(VV);}
 
5
/*      local entry for function progn 'compile2194     */
 
6
 
 
7
static object LI1()
 
8
 
 
9
{        VMB1 VMS1 VMV1
 
10
        goto TTL;
 
11
TTL:;
 
12
        base[0]= VV[0];
 
13
        vs_top=(vs_base=base+0)+1;
 
14
        Lfboundp();
 
15
        vs_top=sup;
 
16
        if((vs_base[0])==Cnil){
 
17
        goto T1;}
 
18
        vs_base=vs_top;
 
19
        (void) (*Lnk0)();
 
20
        vs_top=sup;
 
21
        goto T1;
 
22
T1:;
 
23
        {object V1 = Cnil;
 
24
        VMR1(V1)}
 
25
        base[0]=base[0];
 
26
        return Cnil;
 
27
}
 
28
/*      local entry for function progn 'compile2210     */
 
29
 
 
30
static object LI2()
 
31
 
 
32
{        VMB2 VMS2 VMV2
 
33
        goto TTL;
 
34
TTL:;
 
35
        base[0]= VV[1];
 
36
        vs_top=(vs_base=base+0)+1;
 
37
        (void) (*Lnk50)();
 
38
        vs_top=sup;
 
39
        {object V2 = Cnil;
 
40
        VMR2(V2)}
 
41
        base[0]=base[0];
 
42
        return Cnil;
 
43
}
 
44
/*      local entry for function progn 'compile2222     */
 
45
 
 
46
static object LI3()
 
47
 
 
48
{        VMB3 VMS3 VMV3
 
49
        goto TTL;
 
50
TTL:;
 
51
        if(!((VV[1])->s.s_dbind!=OBJNULL)){
 
52
        goto T8;}
 
53
        goto T7;
 
54
        goto T8;
 
55
T8:;
 
56
        (VV[1]->s.s_dbind)= Cnil;
 
57
        goto T7;
 
58
T7:;
 
59
        {object V3 = Cnil;
 
60
        VMR3(V3)}
 
61
        return Cnil;
 
62
}
 
63
/*      local entry for function progn 'compile2235     */
 
64
 
 
65
static object LI4()
 
66
 
 
67
{        VMB4 VMS4 VMV4
 
68
        goto TTL;
 
69
TTL:;
 
70
        {object V4 = Cnil;
 
71
        VMR4(V4)}
 
72
        return Cnil;
 
73
}
 
74
/*      macro definition for DEFINE-CONDITION   */
 
75
 
 
76
static void L5()
 
77
{register object *base=vs_base;
 
78
        register object *sup=base+VM5; VC5
 
79
        vs_check;
 
80
        vs_top=sup;
 
81
        {object V5=base[0]->c.c_cdr;
 
82
        base[2]= (V5->c.c_car);
 
83
        V5=V5->c.c_cdr;
 
84
        base[3]= (V5->c.c_car);
 
85
        V5=V5->c.c_cdr;
 
86
        base[4]= (V5->c.c_car);
 
87
        V5=V5->c.c_cdr;
 
88
        base[5]= V5;}
 
89
        if((base[3])!=Cnil){
 
90
        goto T12;}
 
91
        if((base[2])==(VV[2])){
 
92
        goto T12;}
 
93
        base[3]= make_cons(VV[2],Cnil);
 
94
        goto T12;
 
95
T12:;
 
96
        {register object V6;
 
97
        register object V7;
 
98
        register object V8;
 
99
        V6= Cnil;
 
100
        V7= Cnil;
 
101
        V8= Cnil;
 
102
        {register object V9;
 
103
        V9= base[5];
 
104
        goto T23;
 
105
T23:;
 
106
        if(((V9))!=Cnil){
 
107
        goto T24;}
 
108
        goto T21;
 
109
        goto T24;
 
110
T24:;
 
111
        {register object V10;
 
112
        V10= CMPcar((V9));
 
113
        {object V11= CMPcar((V10));
 
114
        if((V11!= VV[51]))goto T30;
 
115
        if(!(type_of(CMPcadr((V10)))==t_string)){
 
116
        goto T33;}
 
117
        V6= list(4,VV[3],VV[4],VV[5],list(3,VV[6],CMPcadr((V10)),VV[7]));
 
118
        goto T31;
 
119
        goto T33;
 
120
T33:;
 
121
        V6= CMPcadr((V10));
 
122
        goto T31;
 
123
T31:;
 
124
        goto T28;
 
125
        goto T30;
 
126
T30:;
 
127
        if((V11!= VV[52]))goto T35;
 
128
        V7= (V10);
 
129
        goto T28;
 
130
        goto T35;
 
131
T35:;
 
132
        if((V11!= VV[53]))goto T37;
 
133
        V8= CMPcadr((V10));
 
134
        goto T28;
 
135
        goto T37;
 
136
T37:;
 
137
        (void)((VFUN_NARGS=3,(*(LnkLI54))(VV[8],VV[9],(V10))));}}
 
138
        goto T28;
 
139
T28:;
 
140
        V9= CMPcdr((V9));
 
141
        goto T23;}
 
142
        goto T21;
 
143
T21:;
 
144
        if(((V7))==Cnil){
 
145
        goto T44;}
 
146
        V12= list(5,VV[12],base[2],base[3],base[4],(V7));
 
147
        goto T42;
 
148
        goto T44;
 
149
T44:;
 
150
        V12= list(4,VV[12],base[2],base[3],base[4]);
 
151
        goto T42;
 
152
T42:;
 
153
        {object V14;
 
154
        object V15= base[4];
 
155
        if(V15==Cnil){
 
156
        V13= Cnil;
 
157
        goto T46;}
 
158
        base[6]=V14=MMcons(Cnil,Cnil);
 
159
        goto T47;
 
160
T47:;
 
161
        {object V17;
 
162
        base[8]= CMPcdr((V15->c.c_car));
 
163
        base[9]= VV[17];
 
164
        vs_top=(vs_base=base+8)+2;
 
165
        Lgetf();
 
166
        vs_top=sup;
 
167
        V17= vs_base[0];
 
168
        if(((V17))==Cnil){
 
169
        goto T53;}{object V19;
 
170
        base[8]= CMPcdr((V15->c.c_car));
 
171
        base[9]= VV[18];
 
172
        vs_top=(vs_base=base+8)+2;
 
173
        Lgetf();
 
174
        vs_top=sup;
 
175
        V19= vs_base[0];
 
176
        if(V19==Cnil)goto T56;
 
177
        V18= V19;
 
178
        goto T55;
 
179
        goto T56;
 
180
T56:;}
 
181
        V18= Ct;
 
182
        goto T55;
 
183
T55:;
 
184
        V20= make_cons((V17),V18);
 
185
        (V14->c.c_cdr)= make_cons(/* INLINE-ARGS */V20,Cnil);
 
186
        goto T48;
 
187
        goto T53;
 
188
T53:;
 
189
        (V14->c.c_cdr)= Cnil;}
 
190
        goto T48;
 
191
T48:;
 
192
        while(MMcdr(V14)!=Cnil)V14=MMcdr(V14);
 
193
        if((V15=MMcdr(V15))==Cnil){
 
194
        base[6]=base[6]->c.c_cdr;
 
195
        V13= base[6];
 
196
        goto T46;}
 
197
        goto T47;}
 
198
        goto T46;
 
199
T46:;
 
200
        V21= list(3,VV[15],list(2,VV[16],listA(3,base[2],base[3],V13)),VV[1]);
 
201
        V22= list(4,VV[13],VV[14],/* INLINE-ARGS */V21,list(3,VV[19],list(3,VV[20],list(2,VV[16],base[2]),VV[21]),Cnil));
 
202
        if(((V6))==Cnil){
 
203
        goto T62;}
 
204
        V24= list(2,list(2,VV[24],base[2]),VV[7]);
 
205
        V25= list(4,VV[22],VV[23],/* INLINE-ARGS */V24,list(4,VV[25],VV[26],VV[27],make_cons((V6),VV[28])));
 
206
        V23= make_cons(/* INLINE-ARGS */V25,Cnil);
 
207
        goto T60;
 
208
        goto T62;
 
209
T62:;
 
210
        V23= Cnil;
 
211
        goto T60;
 
212
T60:;
 
213
        V26= list(2,VV[16],base[2]);
 
214
        V27= make_cons(/* INLINE-ARGS */V26,Cnil);
 
215
        base[6]= listA(5,VV[10],VV[11],V12,/* INLINE-ARGS */V22,append(V23,/* INLINE-ARGS */V27));
 
216
        vs_top=(vs_base=base+6)+1;
 
217
        return;}
 
218
}
 
219
/*      function definition for Defclass CONDITION2312  */
 
220
 
 
221
static void L6()
 
222
{register object *base=vs_base;
 
223
        register object *sup=base+VM6; VC6
 
224
        vs_check;
 
225
        vs_top=sup;
 
226
        goto TTL;
 
227
TTL:;
 
228
        base[0]= VV[2];
 
229
        base[1]= VV[29];
 
230
        base[2]= Cnil;
 
231
        base[3]= Cnil;
 
232
        base[4]= Cnil;
 
233
        base[5]= Cnil;
 
234
        symlispcall(VV[55],base+0,6);
 
235
        return;
 
236
}
 
237
/*      local entry for function progn 'compile2328     */
 
238
 
 
239
static object LI7()
 
240
 
 
241
{        VMB7 VMS7 VMV7
 
242
        goto TTL;
 
243
TTL:;
 
244
        vs_base=vs_top;
 
245
        (void) (*Lnk56)();
 
246
        vs_top=sup;
 
247
        {object V28 = Cnil;
 
248
        VMR7(V28)}
 
249
        base[0]=base[0];
 
250
        return Cnil;
 
251
}
 
252
/*      local entry for function progn 'compile2345     */
 
253
 
 
254
static object LI8()
 
255
 
 
256
{        VMB8 VMS8 VMV8
 
257
        goto TTL;
 
258
TTL:;
 
259
        base[0]= VV[30];
 
260
        base[1]= (VV[1]->s.s_dbind);
 
261
        vs_top=(vs_base=base+0)+2;
 
262
        Ladjoin();
 
263
        vs_top=sup;
 
264
        (VV[1]->s.s_dbind)= vs_base[0];
 
265
        {object V30 = Cnil;
 
266
        VMR8(V30)}
 
267
        base[0]=base[0];
 
268
        return Cnil;
 
269
}
 
270
/*      local entry for function progn 'compile2369     */
 
271
 
 
272
static object LI9()
 
273
 
 
274
{        VMB9 VMS9 VMV9
 
275
        goto TTL;
 
276
TTL:;
 
277
        (void)(sputprop(VV[2],VV[31],Cnil));
 
278
        {object V31 = Cnil;
 
279
        VMR9(V31)}
 
280
        return Cnil;
 
281
}
 
282
/*      local entry for function progn 'compile2381     */
 
283
 
 
284
static object LI10()
 
285
 
 
286
{        VMB10 VMS10 VMV10
 
287
        goto TTL;
 
288
TTL:;
 
289
        {object V32 = Cnil;
 
290
        VMR10(V32)}
 
291
        return Cnil;
 
292
}
 
293
/*      local entry for function progn 'compile2397     */
 
294
 
 
295
static object LI11()
 
296
 
 
297
{        VMB11 VMS11 VMV11
 
298
        goto TTL;
 
299
TTL:;
 
300
        base[0]= VV[32];
 
301
        vs_top=(vs_base=base+0)+1;
 
302
        Lfboundp();
 
303
        vs_top=sup;
 
304
        if((vs_base[0])==Cnil){
 
305
        goto T77;}
 
306
        base[0]=VV[32]->s.s_gfdef;
 
307
        {
 
308
        object V33= VV[33];
 
309
        if(V33==Cnil){
 
310
        goto T77;}
 
311
        goto T81;
 
312
T81:;
 
313
        base[1]= (V33->c.c_car);
 
314
        vs_top=(vs_base=base+1)+1;
 
315
        (void) (*Lnk32)();
 
316
        vs_top=sup;
 
317
        if((V33=MMcdr(V33))==Cnil){
 
318
        goto T77;}
 
319
        goto T81;}
 
320
        goto T77;
 
321
T77:;
 
322
        {object V34 = Cnil;
 
323
        VMR11(V34)}
 
324
        base[0]=base[0];
 
325
        return Cnil;
 
326
}
 
327
/*      local entry for function CONDITIONP     */
 
328
 
 
329
static object LI12(V36)
 
330
 
 
331
object V36;
 
332
{        VMB12 VMS12 VMV12
 
333
        goto TTL;
 
334
TTL:;
 
335
        base[0]= (V36);
 
336
        base[1]= VV[2];
 
337
        vs_top=(vs_base=base+0)+2;
 
338
        (void) (*Lnk57)();
 
339
        vs_top=sup;
 
340
        {object V37 = vs_base[0];
 
341
        VMR12(V37)}
 
342
        base[0]=base[0];
 
343
        return Cnil;
 
344
}
 
345
/*      local entry for function progn 'compile2421     */
 
346
 
 
347
static object LI13()
 
348
 
 
349
{        VMB13 VMS13 VMV13
 
350
        goto TTL;
 
351
TTL:;
 
352
        base[0]= VV[23];
 
353
        base[1]= VV[34];
 
354
        vs_top=(vs_base=base+0)+2;
 
355
        (void) (*Lnk58)();
 
356
        vs_top=sup;
 
357
        {object V38 = Cnil;
 
358
        VMR13(V38)}
 
359
        base[0]=base[0];
 
360
        return Cnil;
 
361
}
 
362
/*      local entry for function (PCL::FAST-METHOD PRINT-OBJECT (CONDITION T))  */
 
363
 
 
364
static object LI14(V43,V44,V45,V46)
 
365
 
 
366
object V43;object V44;register object V45;register object V46;
 
367
{        VMB14 VMS14 VMV14
 
368
        goto TTL;
 
369
TTL:;
 
370
        if(((VV[26]->s.s_dbind))==Cnil){
 
371
        goto T92;}
 
372
        base[0]= (V46);
 
373
        base[1]= VV[35];
 
374
        base[4]= (V45);
 
375
        vs_top=(vs_base=base+4)+1;
 
376
        (void) (*Lnk59)();
 
377
        vs_top=sup;
 
378
        base[3]= vs_base[0];
 
379
        vs_top=(vs_base=base+3)+1;
 
380
        (void) (*Lnk60)(Lclptr60);
 
381
        vs_top=sup;
 
382
        base[2]= vs_base[0];
 
383
        base[3]= (*(LnkLI61))((V45));
 
384
        vs_top=(vs_base=base+0)+4;
 
385
        Lformat();
 
386
        vs_top=sup;
 
387
        {object V48 = vs_base[0];
 
388
        VMR14(V48)}
 
389
        goto T92;
 
390
T92:;
 
391
        base[0]= (V46);
 
392
        base[1]= VV[36];
 
393
        base[3]= (V45);
 
394
        vs_top=(vs_base=base+3)+1;
 
395
        Ltype_of();
 
396
        vs_top=sup;
 
397
        base[2]= vs_base[0];
 
398
        vs_top=(vs_base=base+0)+3;
 
399
        Lformat();
 
400
        vs_top=sup;
 
401
        {object V49 = vs_base[0];
 
402
        VMR14(V49)}
 
403
        base[0]=base[0];
 
404
        return Cnil;
 
405
}
 
406
/*      local entry for function progn 'compile2522     */
 
407
 
 
408
static object LI15()
 
409
 
 
410
{        VMB15 VMS15 VMV15
 
411
        goto TTL;
 
412
TTL:;
 
413
        base[0]= VV[37];
 
414
        base[1]= VV[23];
 
415
        base[2]= Cnil;
 
416
        base[3]= VV[38];
 
417
        base[4]= VV[39];
 
418
        V50= (VV[62]->s.s_gfdef);
 
419
        base[5]= listA(3,VV[40],V50,VV[41]);
 
420
        base[6]= Cnil;
 
421
        vs_top=(vs_base=base+0)+7;
 
422
        (void) (*Lnk63)();
 
423
        vs_top=sup;
 
424
        {object V51 = Cnil;
 
425
        VMR15(V51)}
 
426
        base[0]=base[0];
 
427
        return Cnil;
 
428
}
 
429
/*      local entry for function progn 'compile2534     */
 
430
 
 
431
static object LI16()
 
432
 
 
433
{        VMB16 VMS16 VMV16
 
434
        goto TTL;
 
435
TTL:;
 
436
        base[0]= VV[42];
 
437
        vs_top=(vs_base=base+0)+1;
 
438
        (void) (*Lnk50)();
 
439
        vs_top=sup;
 
440
        {object V52 = Cnil;
 
441
        VMR16(V52)}
 
442
        base[0]=base[0];
 
443
        return Cnil;
 
444
}
 
445
/*      local entry for function progn 'compile2546     */
 
446
 
 
447
static object LI17()
 
448
 
 
449
{        VMB17 VMS17 VMV17
 
450
        goto TTL;
 
451
TTL:;
 
452
        if(!((VV[42])->s.s_dbind!=OBJNULL)){
 
453
        goto T116;}
 
454
        goto T115;
 
455
        goto T116;
 
456
T116:;
 
457
        base[0]= VV[2];
 
458
        vs_top=(vs_base=base+0)+1;
 
459
        (void) (*Lnk64)();
 
460
        vs_top=sup;
 
461
        (VV[42]->s.s_dbind)= vs_base[0];
 
462
        goto T115;
 
463
T115:;
 
464
        {object V53 = Cnil;
 
465
        VMR17(V53)}
 
466
        base[0]=base[0];
 
467
        return Cnil;
 
468
}
 
469
/*      local entry for function progn 'compile2559     */
 
470
 
 
471
static object LI18()
 
472
 
 
473
{        VMB18 VMS18 VMV18
 
474
        goto TTL;
 
475
TTL:;
 
476
        {object V54 = Cnil;
 
477
        VMR18(V54)}
 
478
        return Cnil;
 
479
}
 
480
/*      local entry for function CONDITION-CLASS-P      */
 
481
 
 
482
static object LI19(V56)
 
483
 
 
484
register object V56;
 
485
{        VMB19 VMS19 VMV19
 
486
        goto TTL;
 
487
TTL:;
 
488
        if(!(type_of((V56))==t_symbol)){
 
489
        goto T121;}
 
490
        base[0]= (V56);
 
491
        vs_top=(vs_base=base+0)+1;
 
492
        (void) (*Lnk64)();
 
493
        vs_top=sup;
 
494
        V56= vs_base[0];
 
495
        goto T121;
 
496
T121:;
 
497
        base[0]= (V56);
 
498
        base[1]= VV[29];
 
499
        vs_top=(vs_base=base+0)+2;
 
500
        (void) (*Lnk57)();
 
501
        vs_top=sup;
 
502
        if((vs_base[0])!=Cnil){
 
503
        goto T126;}
 
504
        {object V57 = Cnil;
 
505
        VMR19(V57)}
 
506
        goto T126;
 
507
T126:;{object V59;
 
508
        V59= (VV[42]->s.s_dbind);
 
509
        base[0]= (V56);
 
510
        vs_top=(vs_base=base+0)+1;
 
511
        (void) (*Lnk65)(Lclptr65);
 
512
        vs_top=sup;
 
513
        V60= vs_base[0];
 
514
        {register object x= V59,V58= V60;
 
515
        while(V58!=Cnil)
 
516
        if(eql(x,V58->c.c_car)){
 
517
        {object V61 = V58;
 
518
        VMR19(V61)}
 
519
        }else V58=V58->c.c_cdr;
 
520
        {object V62 = Cnil;
 
521
        VMR19(V62)}}}
 
522
        base[0]=base[0];
 
523
        return Cnil;
 
524
}
 
525
/*      function definition for MAKE-CONDITION  */
 
526
 
 
527
static void L20()
 
528
{register object *base=vs_base;
 
529
        register object *sup=base+VM20; VC20
 
530
        vs_check;
 
531
        {register object V63;
 
532
        object V64;
 
533
        V63=(base[0]);
 
534
        vs_base=vs_base+1;
 
535
        vs_top[0]=Cnil;
 
536
        {object *p=vs_top;
 
537
         for(;p>vs_base;p--)p[-1]=MMcons(p[-1],p[0]);}
 
538
        V64=(base[1]);
 
539
        vs_top=sup;
 
540
        if(((*(LnkLI66))((V63)))!=Cnil){
 
541
        goto T132;}
 
542
        base[2]= VV[43];
 
543
        base[3]= VV[44];
 
544
        base[4]= (V63);
 
545
        base[5]= VV[45];
 
546
        base[6]= VV[46];
 
547
        base[7]= VV[47];
 
548
        base[8]= VV[48];
 
549
        base[9]= VV[49];
 
550
        base[10]= make_cons((V63),Cnil);
 
551
        vs_top=(vs_base=base+2)+9;
 
552
        (void) (*Lnk67)();
 
553
        vs_top=sup;
 
554
        goto T132;
 
555
T132:;
 
556
        base[2]=VV[68]->s.s_gfdef;
 
557
        base[3]= (V63);
 
558
        {object V65;
 
559
        V65= (V64);
 
560
         vs_top=base+4;
 
561
         while(V65!=Cnil)
 
562
         {vs_push((V65)->c.c_car);V65=(V65)->c.c_cdr;}
 
563
        vs_base=base+3;}
 
564
        (void) (*Lnk68)(Lclptr68);
 
565
        return;
 
566
        }
 
567
}
 
568
static void LnkT68(ptr) object *ptr;{ call_or_link_closure(VV[68],(void **)(void *)&Lnk68,(void **)(void *)&Lclptr68);} /* MAKE-INSTANCE */
 
569
static void LnkT67(){ call_or_link(VV[67],(void **)(void *)&Lnk67);} /* ERROR */
 
570
static object  LnkTLI66(object first,...){object V1;va_list ap;va_start(ap,first);V1=call_proc_new(VV[66],(void **)(void *)&LnkLI66,1,first,ap);va_end(ap);return V1;} /* CONDITION-CLASS-P */
 
571
static void LnkT65(ptr) object *ptr;{ call_or_link_closure(VV[65],(void **)(void *)&Lnk65,(void **)(void *)&Lclptr65);} /* CLASS-PRECEDENCE-LIST */
 
572
static void LnkT64(){ call_or_link(VV[64],(void **)(void *)&Lnk64);} /* FIND-CLASS */
 
573
static void LnkT63(){ call_or_link(VV[63],(void **)(void *)&Lnk63);} /* LOAD-DEFMETHOD */
 
574
static object  LnkTLI61(object first,...){object V1;va_list ap;va_start(ap,first);V1=call_proc_new(VV[61],(void **)(void *)&LnkLI61,1,first,ap);va_end(ap);return V1;} /* UNIQUE-ID */
 
575
static void LnkT60(ptr) object *ptr;{ call_or_link_closure(VV[60],(void **)(void *)&Lnk60,(void **)(void *)&Lclptr60);} /* CLASS-NAME */
 
576
static void LnkT59(){ call_or_link(VV[59],(void **)(void *)&Lnk59);} /* CLASS-OF */
 
577
static void LnkT58(){ call_or_link(VV[58],(void **)(void *)&Lnk58);} /* PROCLAIM-DEFGENERIC */
 
578
static void LnkT57(){ call_or_link(VV[57],(void **)(void *)&Lnk57);} /* TYPEP */
 
579
static void LnkT32(){ call_or_link(VV[32],(void **)(void *)&Lnk32);} /* PROCLAIM-INCOMPATIBLE-SUPERCLASSES */
 
580
static void LnkT56(){ call_or_link(VV[56],(void **)(void *)&Lnk56);} /* Defclass CONDITION2312 */
 
581
static object  LnkTLI54(object first,...){object V1;va_list ap;va_start(ap,first);V1=call_vproc_new(VV[54],(void **)(void *)&LnkLI54,first,ap);va_end(ap);return V1;} /* CERROR */
 
582
static void LnkT50(){ call_or_link(VV[50],(void **)(void *)&Lnk50);} /* *MAKE-SPECIAL */
 
583
static void LnkT0(){ call_or_link(VV[0],(void **)(void *)&Lnk0);} /* REMOVE-CLCS-SYMBOLS */
 
584
 
 
585
#ifdef SYSTEM_SPECIAL_INIT
 
586
SYSTEM_SPECIAL_INIT
 
587
#endif
 
588