On Mon, Jan 26, 2009 at 10:01:42PM -0500, Norman Ramsey wrote:
>  > I gather this isn't supposed to happen:
>  > 
>  > 
>  > qc-- -globals -o ACKERMAN ACKERMAN.c--
>  > This can't happen: Asked for temporary in space `general-purpose 
>  > temporaries' with unsupported width 64
>  > Fatal error: exception Impossible.Impossible("Asked for temporary in 
>  > space `general-purpose temporaries' with unsupported width 64")
>  > make: *** [ACKERMAN] Error 2
>  > hend...@lovesong:~/dv/lang/a68h/workspace$ 
>  > 
>  > It might be useful if a this-can't-happen were to produce the source
>  > line number of the construct occasioning the problem.
> 
> this-can't-happen means that the compiler has become so sick that it
> can't continue.  source coordinates are but a distant memory.
> We usually get a stack trace, which is useful...
> 
>  > ACKERMAN.c-- is 483 lines.  Do you want a copy?
> 
> Yes.  Though I can't see doing anything about it until after the ICFP
> deadline (March 2).   I can guess where this message is coming from,
> and the code is foul.  Very foul.
> 

OK.  Here it is.  It almost certainly won't run correctly even if C-- is 
fixed, because it uses some external references to assembler code that 
was available on the 360, and because my front-end compiler hasn't 
been debugged yet.  But here it is: 


target memsize 8 byteorder little pointersize 32 wordsize 32;
export H3 as "main";
/* entry point of type D */
H20(bits32 H21/* parameters */, bits32 H26/* parend */){
/* prefix code at routine entry */
bits32 H34;
/* end prefix code */
stackdata { align 8; H23:
bits8[40];
}
/* make display */bits32[H23] = bits32[H21];
bits32[H23+4] = H21;

/* display made *//* copy parameters into local variables */
/*parameters copied */
/*bounds for array declarer */
bits32[(H23)+32 /* H33 */ ] = H26;
bits32[(bits32[(H23)+32 /* H33 */ ])+0 /* H25+H30 */ ] = 1::bits32;
bits32[(bits32[(H23)+32 /* H33 */ ])+0 /* H25+H31 */ ] = 0::bits32;
/*  compute strides and size */
bits32[(bits32[(H23)+32 /* H33 */ ])+0 /* H25+H32 */ ] = 1::bits32;
H34 = (bits32[(bits32[(H23)+32 /* H33 */ ])+0 /* H25+H31 */ ] - 
bits32[(bits32[(H23)+32 /* H33 */ ])+0 /* H25+H30 */ ] + 1::bits32) * 
1::bits32; 
if H34 < 0::bits32 {H34 = 0::bits32;}
bits32[(H23)+36 /* H35 */ ] = H26;
bits32[(bits32[(H23)+36 /* H35 */ ])+0 /* H24 */ ] = H34;
return;
}
/* end of called code of type D */
/* entry point of type   */
H37(bits32 H38/* parameters */, bits32 H41, bits64 H43, bits32 H54, bits32 H61, 
bits32 H63/* parend */){
/* prefix code at routine entry */
/* end prefix code */
stackdata { align 8; H40:
bits8[77];
}
/* make display */bits32[H40] = bits32[H38];
bits32[H40+4] = H38;

/* display made *//* copy parameters into local variables */
bits32[(H40)+32 /* H42 */ ]=H41;
bits64[(H40)+36 /* H44 */ ]=H43;
bits32[(H40)+44 /* H55 */ ]=H54;
bits32[(H40)+48 /* H62 */ ]=H61;
bits32[(H40)+52 /* H64 */ ]=H63;
/*parameters copied */

 /* 16 "a68 source" */ 
bits32 H71;
H71 =  foreign "C" malloc(1::bits32);
bits32[(H40)+72 /* H69 */ ] = H71;
bits64[bits32[(H40)+72 /* H69 */ ]] = bits64[(H40)+36 /* H44 */ ];
bits32 H72;
H72 =  foreign "C" malloc(1::bits32);
bits32[(H40)+68 /* H68 */ ] = H72;
bits32[bits32[(H40)+68 /* H68 */ ]] = bits32[(H40)+44 /* H55 */ ];
bits32 H73;
H73 =  foreign "C" malloc(1::bits32);
bits32[(H40)+64 /* H67 */ ] = H73;
bits32[bits32[(H40)+64 /* H67 */ ]] = bits32[(H40)+48 /* H62 */ ];
bits32 H74;
H74 =  foreign "C" malloc(1::bits32);
bits32[(H40)+60 /* H66 */ ] = H74;
bits32[bits32[(H40)+60 /* H66 */ ]] = bits32[(H40)+52 /* H64 */ ];
bits32 H75;
H75 =  foreign "C" malloc(1::bits32);
bits32[(H40)+56 /* H65 */ ] = H75;
bits8[bits32[(H40)+56 /* H65 */ ]] = 0::bits8;

 /* 17 "a68 source" */ 
foreign "C" OPENOUT(bits32[(H40)+32 /* H42 */ ], bits32[(H40)+72 /* H69 */ ], 
bits32[(H40)+68 /* H68 */ ], bits32[(H40)+64 /* H67 */ ], bits32[(H40)+60 /* 
H66 */ ], bits32[(H40)+56 /* H65 */ ]);

 /* 18 "a68 source" */ 
bits8[(H40)+76 /* H70 */ ] = bits8[bits32[(H40)+56 /* H65 */ ]];
return(bits8[(H40)+76 /* H70 */ ]);
}
/* end of called code of type   */
/* entry point of type   */
H77(bits32 H78/* parameters */, bits32 H81/* parend */){
/* prefix code at routine entry */
/* end prefix code */
stackdata { align 8; H80:
bits8[36];
}
/* make display */bits32[H80] = bits32[H78];
bits32[H80+4] = H78;

/* display made *//* copy parameters into local variables */
bits32[(H80)+32 /* H82 */ ]=H81;
/*parameters copied */
foreign "C" CLOSEOUT(bits32[(H80)+32 /* H82 */ ]);
return;
}
/* end of called code of type   */
/* entry point of type   */
H93(bits32 H94/* parameters */, bits8 H97/* parend */){
/* prefix code at routine entry */
/* end prefix code */
stackdata { align 8; H96:
bits8[33];
}
/* make display */bits32[H96] = bits32[H94];
bits32[H96+4] = H94;

/* display made *//* copy parameters into local variables */
bits8[(H96)+32 /* H98 */ ]=H97;
/*parameters copied */

 /* 28 "a68 source" */ 
bits8[bits32[(bits32[H96+8])+80 /* H15 */ ]] = ' ';
bits32[bits32[(bits32[H96+8])+76 /* H14 */ ]] = 1::bits32;
bits8[bits32[(bits32[H96+8])+72 /* H13 */ ]] = bits8[(H96)+32 /* H98 */ ];
bits8[bits32[(bits32[H96+8])+68 /* H12 */ ]] = 0::bits8;
bits8[bits32[(bits32[H96+8])+64 /* H11 */ ]] = 0::bits8;

 /* 29 "a68 source" */ 
foreign "C" PUT(bits32[(bits32[H96+8])+84 /* H16 */ ], 
bits32[(bits32[H96+8])+80 /* H15 */ ], bits32[(bits32[H96+8])+76 /* H14 */ ], 
bits32[(bits32[H96+8])+72 /* H13 */ ], bits32[(bits32[H96+8])+68 /* H12 */ ], 
bits32[(bits32[H96+8])+64 /* H11 */ ]);
return;
}
/* end of called code of type   */
/* entry point of type   */
H100(bits32 H101/* parameters *//* parend */){
/* prefix code at routine entry */
/* end prefix code */
stackdata { align 8; H103:
bits8[30];
}
/* make display */bits32[H103] = bits32[H101];
bits32[H103+4] = H101;

/* display made *//* copy parameters into local variables */
/*parameters copied */
bits32[bits32[(bits32[H103+8])+76 /* H14 */ ]] = 0::bits32;
bits8[bits32[(bits32[H103+8])+68 /* H12 */ ]] = 0::bits8;
bits8[bits32[(bits32[H103+8])+64 /* H11 */ ]] = 255U::bits8;

 /* 33 "a68 source" */ 
foreign "C" PUT(bits32[(bits32[H103+8])+84 /* H16 */ ], 
bits32[(bits32[H103+8])+80 /* H15 */ ], bits32[(bits32[H103+8])+76 /* H14 */ ], 
bits32[(bits32[H103+8])+72 /* H13 */ ], bits32[(bits32[H103+8])+68 /* H12 */ ], 
bits32[(bits32[H103+8])+64 /* H11 */ ]);
return;
}
/* end of called code of type   */
section "data" { align 4;
H130: 
bits32 {H125};
bits32 {1};
bits32 {10};
bits32 {1};
}section "data" {
H125: bits8[] "0987654321";
}
/* entry point of type   */
H115(bits32 H116/* parameters */, bits32 H119/* parend */){
/* prefix code at routine entry */
bits32 H124;
bits32 H132;
bits32 H133;
bits32 H134;
bits32 H135;
/* end prefix code */
stackdata { align 8; H118:
bits8[56];
}
/* make display */bits64[H118] = bits64[H116];
bits32[H118+8] = H116;

/* display made *//* copy parameters into local variables */
bits32[(H118)+32 /* H120 */ ]=H119;
/*parameters copied */

 /* 40 "a68 source" */ 
bits8 H123;
if %eq(bits32[(H118)+32 /* H120 */ ], 0::bits32){ H123= 255U::bits8;} else{ 
H123= 0::bits8;}
if H123 == 0::bits8 { goto H121;}

 /* 41 "a68 source" */ 
goto H122;

H121:
H124=%div(bits32[(H118)+32 /* H120 */ ],10::bits32);
bits32[(bits32[H118+12])+36 /* H111+H2 */ ](bits32[(bits32[H118+12])+40 /* 
H111+H1 */ ], H124);
bits128[(H118)+36 /* H131 */ ] = bits128[(bits32[H118+12])+0 /* H130 */ ];
H133=%mod(bits32[(H118)+32 /* H120 */ ],10::bits32);
H132=%add(H133,1::bits32);
H134 = H132;
if H134>bits32[(H118)+36 /* H131+H129+H31 */ ]{ /* TODO: out-of-bounds trap */ 
};
H134=H134-bits32[(H118)+36 /* H131+H129+H30 */ ];
if H134<bits32[(H118)+36 /* H131+H129+H30 */ ]{ /* TODO: out-of-bounds trap */ 
};
H134 = H134 * bits32[(H118)+36 /* H131+H129+H32 */ ] + (((0::bits32)));
H135 = bits32[(H118)+36 /* H131+H128 */ ] + H134;
bits32[(H118)+52 /* H136 */ ] = H135;
bits32[(bits32[H118+12])+56 /* H10+H2 */ ](bits32[(bits32[H118+12])+60 /* 
H10+H1 */ ], bits8[bits32[(H118)+52 /* H136 */ ]]);

H122:
return;
}
/* end of called code of type   */
/* entry point of type   */
H105(bits32 H106/* parameters */, bits32 H109/* parend */){
/* prefix code at routine entry */
bits32 H142;
/* end prefix code */
stackdata { align 8; H108:
bits8[56];
}
/* make display */bits32[H108] = bits32[H106];
bits32[H108+4] = H106;

/* display made *//* copy parameters into local variables */
bits32[(H108)+32 /* H110 */ ]=H109;
/*parameters copied */

 /* 38 "a68 source" */ 
bits32[(bits32[H108+8])+56 /* H10+H2 */ ](bits32[(bits32[H108+8])+60 /* H10+H1 
*/ ], ' ');

 /* 39 "a68 source" */ 
bits32[(H108)+48 /* H137+H2 */ ] = H115;
bits32[(H108)+52 /* H137+H1 */ ] = bits32[H108 + -0000000004];
bits64[(H108)+36 /* H111 */ ] = bits64[(H108)+48 /* H137 */ ];

 /* 43 "a68 source" */ 
bits8 H138;
if %lt(bits32[(H108)+32 /* H110 */ ], 0::bits32){ H138= 255U::bits8;} else{ 
H138= 0::bits8;}
bits8[(H108)+44 /* H114 */ ] = H138;
if H138 == 0::bits8 { goto H112;}
bits32[(bits32[H108+8])+56 /* H10+H2 */ ](bits32[(bits32[H108+8])+60 /* H10+H1 
*/ ], '-');

 /* 44 "a68 source" */ 
bits32[(H108)+36 /* H111+H2 */ ](bits32[(H108)+40 /* H111+H1 */ ], 
bits32[(H108)+32 /* H110 */ ]);
goto H113;

H112:
bits8 H141;
if %eq(bits32[(H108)+32 /* H110 */ ], 0::bits32){ H141= 255U::bits8;} else{ 
H141= 0::bits8;}
if H141 == 0::bits8 { goto H139;}

 /* 45 "a68 source" */ 
bits32[(bits32[H108+8])+56 /* H10+H2 */ ](bits32[(bits32[H108+8])+60 /* H10+H1 
*/ ], '0');
goto H140;

H139:

 /* 46 "a68 source" */ 
H142=%neg(bits32[(H108)+32 /* H110 */ ]);
bits32[(H108)+36 /* H111+H2 */ ](bits32[(H108)+40 /* H111+H1 */ ], H142);

H140:

H113:
return;
}
/* end of called code of type   */
/* entry point of type   */
H151(bits32 H152/* parameters */, bits32 H155, bits32 H157/* parend */){
/* prefix code at routine entry */
bits32 H163;
bits32 H168;
bits32 H170;
bits32 H172;
/* end prefix code */
stackdata { align 8; H154:
bits8[56];
}
/* make display */bits32[H154] = bits32[H152];
bits32[H154+4] = H152;

/* display made *//* copy parameters into local variables */
bits32[(H154)+32 /* H156 */ ]=H155;
bits32[(H154)+36 /* H158 */ ]=H157;
/*parameters copied */

 /* 51 "a68 source" */ 

 /* 52 "a68 source" */ 

 /* 51 "a68 source" */ 
bits8 H162;
if %eq(bits32[(H154)+32 /* H156 */ ], 0::bits32){ H162= 255U::bits8;} else{ 
H162= 0::bits8;}
if H162 == 0::bits8 { goto H160;}

 /* 52 "a68 source" */ 

 /* 53 "a68 source" */ 

 /* 52 "a68 source" */ 
H163=%add(bits32[(H154)+36 /* H158 */ ],1::bits32);
bits32[(H154)+40 /* H159 */ ] = H163;
goto H161;

H160:

 /* 53 "a68 source" */ 

 /* 54 "a68 source" */ 

 /* 53 "a68 source" */ 
bits8 H166;
if %eq(bits32[(H154)+36 /* H158 */ ], 0::bits32){ H166= 255U::bits8;} else{ 
H166= 0::bits8;}
if H166 == 0::bits8 { goto H164;}

 /* 54 "a68 source" */ 
H168=%sub(bits32[(H154)+32 /* H156 */ ],1::bits32);
bits32[(bits32[H154+8])+32 /* H7+H2 */ ](bits32[(bits32[H154+8])+36 /* H7+H1 */ 
], H168, 1::bits32);
bits32[(H154)+40 /* H159 */ ] = bits32[(H154)+44 /* H167 */ ];
goto H165;

H164:

 /* 55 "a68 source" */ 
H170=%sub(bits32[(H154)+32 /* H156 */ ],1::bits32);
H172=%sub(bits32[(H154)+36 /* H158 */ ],1::bits32);
bits32[(bits32[H154+8])+32 /* H7+H2 */ ](bits32[(bits32[H154+8])+36 /* H7+H1 */ 
], bits32[(H154)+32 /* H156 */ ], H172);
bits32[(bits32[H154+8])+32 /* H7+H2 */ ](bits32[(bits32[H154+8])+36 /* H7+H1 */ 
], H170, bits32[(H154)+52 /* H171 */ ]);
bits32[(H154)+40 /* H159 */ ] = bits32[(H154)+48 /* H169 */ ];

H165:
bits32[(H154)+40 /* H159 */ ] = bits32[(H154)+40 /* H159 */ ];

H161:
return(bits32[(H154)+40 /* H159 */ ]);
}
/* end of called code of type   */
import malloc;
/* main entry point */ foreign "C" H3(bits32 H4/* parameters *//* parend */){
/* prefix code at routine entry */
import PUT;
import CLOSEOUT;
import OPENOUT;
bits32 H145;
bits32 H150;
/* end prefix code */
stackdata { align 8; H6:
bits8[196];
}
/* make display */bits32[H6+0] = H4;

/* display made *//* copy parameters into local variables */
/*parameters copied */

 /* 0 "a68 source" */ 

 /* 2 "a68 source" */ 
bits32[(H6)+112 /* H36+H2 */ ] = H20;
bits32[(H6)+116 /* H36+H1 */ ] = H6;
bits64[(H6)+104 /* H19 */ ] = bits64[(H6)+112 /* H36 */ ];

 /* 6 "a68 source" */ 

 /* 9 "a68 source" */ 

 /* 14 "a68 source" */ 

 /* 15 "a68 source" */ 
bits32[(H6)+120 /* H76+H2 */ ] = H37;
bits32[(H6)+124 /* H76+H1 */ ] = bits32[H6 + -0000000004];
bits64[(H6)+96 /* H18 */ ] = bits64[(H6)+120 /* H76 */ ];

 /* 20 "a68 source" */ 
bits32[(H6)+128 /* H83+H2 */ ] = H77;
bits32[(H6)+132 /* H83+H1 */ ] = bits32[H6 + -0000000004];
bits64[(H6)+88 /* H17 */ ] = bits64[(H6)+128 /* H83 */ ];

 /* 22 "a68 source" */ 
bits32 H84;
H84 =  foreign "C" malloc(1::bits32);
bits32[(H6)+84 /* H16 */ ] = H84;

 /* 23 "a68 source" */ 
bits8[(H6)+140 /* H86+H46 */ ] = 'S';
bits8[(H6)+141 /* H86+H47 */ ] = 'Y';
bits8[(H6)+142 /* H86+H48 */ ] = 'S';
bits8[(H6)+143 /* H86+H49 */ ] = 'P';
bits8[(H6)+144 /* H86+H50 */ ] = 'R';
bits8[(H6)+145 /* H86+H51 */ ] = 'I';
bits8[(H6)+146 /* H86+H52 */ ] = 'N';
bits8[(H6)+147 /* H86+H53 */ ] = 'T';
bits8[(H6)+148 /* H87+H57 */ ] = 'V';
bits8[(H6)+149 /* H87+H58 */ ] = 'B';
bits8[(H6)+150 /* H87+H59 */ ] = ' ';
bits8[(H6)+151 /* H87+H60 */ ] = ' ';
bits32[(H6)+96 /* H18+H2 */ ](bits32[(H6)+100 /* H18+H1 */ ], bits32[(H6)+84 /* 
H16 */ ], bits64[(H6)+140 /* H86 */ ], bits32[(H6)+148 /* H87 */ ], 80::bits32, 
80::bits32);

 /* 25 "a68 source" */ 
bits32 H88;
H88 =  foreign "C" malloc(1::bits32);
bits32[(H6)+80 /* H15 */ ] = H88;
bits32 H89;
H89 =  foreign "C" malloc(1::bits32);
bits32[(H6)+76 /* H14 */ ] = H89;
bits32 H90;
H90 =  foreign "C" malloc(1::bits32);
bits32[(H6)+72 /* H13 */ ] = H90;
bits32 H91;
H91 =  foreign "C" malloc(1::bits32);
bits32[(H6)+68 /* H12 */ ] = H91;
bits32 H92;
H92 =  foreign "C" malloc(1::bits32);
bits32[(H6)+64 /* H11 */ ] = H92;

 /* 27 "a68 source" */ 
bits32[(H6)+152 /* H99+H2 */ ] = H93;
bits32[(H6)+156 /* H99+H1 */ ] = bits32[H6 + -0000000004];
bits64[(H6)+56 /* H10 */ ] = bits64[(H6)+152 /* H99 */ ];

 /* 32 "a68 source" */ 
bits32[(H6)+160 /* H104+H2 */ ] = H100;
bits32[(H6)+164 /* H104+H1 */ ] = bits32[H6 + -0000000004];
bits64[(H6)+48 /* H9 */ ] = bits64[(H6)+160 /* H104 */ ];

 /* 36 "a68 source" */ 
bits32[(H6)+56 /* H10+H2 */ ](bits32[(H6)+60 /* H10+H1 */ ], 'h');
bits32[(H6)+56 /* H10+H2 */ ](bits32[(H6)+60 /* H10+H1 */ ], 'a');
bits32[(H6)+56 /* H10+H2 */ ](bits32[(H6)+60 /* H10+H1 */ ], 'H');
bits32[(H6)+56 /* H10+H2 */ ](bits32[(H6)+60 /* H10+H1 */ ], 'A');
bits32[(H6)+48 /* H9+H2 */ ](bits32[(H6)+52 /* H9+H1 */ ]);

 /* 37 "a68 source" */ 
bits32[(H6)+168 /* H143+H2 */ ] = H105;
bits32[(H6)+172 /* H143+H1 */ ] = bits32[H6 + -0000000004];
bits64[(H6)+40 /* H8 */ ] = bits64[(H6)+168 /* H143 */ ];

 /* 48 "a68 source" */ 
H145=%neg(10::bits32);
bits32[(H6)+176 /* H144 */ ] = H145;

H146:
H150 = 1::bits32;
if H150 == 0::bits32{ goto H148;}
if H150 > 0::bits32{ goto H149;}
if bits32[(H6)+176 /* H144 */ ] < 10::bits32{ goto H147;}
goto H148;

H149:
if bits32[(H6)+176 /* H144 */ ] > 10::bits32{ goto H147;}

H148:

bits32[(H6)+40 /* H8+H2 */ ](bits32[(H6)+44 /* H8+H1 */ ], bits32[(H6)+176 /* 
H144 */ ]);
bits32[(H6)+48 /* H9+H2 */ ](bits32[(H6)+52 /* H9+H1 */ ]);
bits32[(H6)+48 /* H9+H2 */ ](bits32[(H6)+52 /* H9+H1 */ ]);
bits32[(H6)+176 /* H144 */ ] = bits32[(H6)+176 /* H144 */ ] + 1::bits32;
goto H146;

H147:

 /* 50 "a68 source" */ 
bits32[(H6)+180 /* H173+H2 */ ] = H151;
bits32[(H6)+184 /* H173+H1 */ ] = bits32[H6 + -0000000004];
bits64[(H6)+32 /* H7 */ ] = bits64[(H6)+180 /* H173 */ ];

 /* 58 "a68 source" */ 
bits32[(H6)+188 /* H174 */ ] = 0::bits32;

H175:

 /* 59 "a68 source" */ 
bits32[(H6)+56 /* H10+H2 */ ](bits32[(H6)+60 /* H10+H1 */ ], 'a');
bits32[(H6)+56 /* H10+H2 */ ](bits32[(H6)+60 /* H10+H1 */ ], 'c');
bits32[(H6)+56 /* H10+H2 */ ](bits32[(H6)+60 /* H10+H1 */ ], 'k');
bits32[(H6)+56 /* H10+H2 */ ](bits32[(H6)+60 /* H10+H1 */ ], '(');
bits32[(H6)+40 /* H8+H2 */ ](bits32[(H6)+44 /* H8+H1 */ ], 3::bits32);
bits32[(H6)+56 /* H10+H2 */ ](bits32[(H6)+60 /* H10+H1 */ ], ',');
bits32[(H6)+40 /* H8+H2 */ ](bits32[(H6)+44 /* H8+H1 */ ], bits32[(H6)+188 /* 
H174 */ ]);
bits32[(H6)+56 /* H10+H2 */ ](bits32[(H6)+60 /* H10+H1 */ ], ')');
bits32[(H6)+56 /* H10+H2 */ ](bits32[(H6)+60 /* H10+H1 */ ], '=');

 /* 60 "a68 source" */ 
bits32[(H6)+32 /* H7+H2 */ ](bits32[(H6)+36 /* H7+H1 */ ], 3::bits32, 
bits32[(H6)+188 /* H174 */ ]);
bits32[(H6)+40 /* H8+H2 */ ](bits32[(H6)+44 /* H8+H1 */ ], bits32[(H6)+192 /* 
H177 */ ]);
bits32[(H6)+48 /* H9+H2 */ ](bits32[(H6)+52 /* H9+H1 */ ]);

 /* 61 "a68 source" */ 
bits32[(H6)+48 /* H9+H2 */ ](bits32[(H6)+52 /* H9+H1 */ ]);
bits32[(H6)+188 /* H174 */ ] = bits32[(H6)+188 /* H174 */ ] + 1::bits32;
goto H175;

H176:

 /* 63 "a68 source" */ 
bits32[(H6)+88 /* H17+H2 */ ](bits32[(H6)+92 /* H17+H1 */ ], bits32[(H6)+84 /* 
H16 */ ]);
return;
}
/* end of called code of type P */



> 
> Norman
_______________________________________________
Cminusminus mailing list
[email protected]
https://cminusminus.org/mailman/listinfo/cminusminus

Reply via email to