An Internal compiler error has been reported on the macpascal mailing list, as reproduced by the following program:
[G5:gcc/p/test] adriaan% cat avo10.pas program avo10; type UInt16 = cardinal attribute( size = 16); StyleItemGPC = (bold,italic,underline,outline,shadow,condense,extend); StyleParameter = UInt16; procedure TextFace(face: StyleParameter); external name 'TextFace'; begin TextFace( [bold, italic]); {internal compiler error} end.
[G5:gcc/p/test] adriaan% gpc avo10.pas ../../gcc-3.4.3/gcc/p/typecheck.c:123:incomplete_type_error: failed assertion `0' avo10.pas: In main program: avo10.pas:8: error: Internal compiler error. Please submit a full bug report to the GPC mailing list gpc@gnu.de. See URL:http://www.gnu-pascal.de/todo.html for details.
G5:gcc/p/test] adriaan% gpc -v Reading specs from /Developer/Pascal/gpc343d7/lib/gcc/powerpc-apple-darwin7/3.4.3/specs Configured with: ../gcc-3.4.3/configure --enable-languages=pascal,c --enable-threads=posix --prefix=/Developer/Pascal/gpc343d7 --target=powerpc-apple-darwin7 --host=powerpc-apple-darwin7 Thread model: posix gpc version 20050217, based on gcc-3.4.3
Adding a typecast triggers another error:
G5:gcc/p/test] adriaan% cat avo11.pas program avo11; type UInt16 = cardinal attribute( size = 16); StyleItemGPC = (bold,italic,underline,outline,shadow,condense,extend); StyleParameter = UInt16; procedure TextFace(face: StyleParameter); external name 'TextFace'; begin TextFace( StyleParameter( [bold, italic])); {internal compiler error} end.
[G5:gcc/p/test] adriaan% gpc avo11.pas avo11.pas: In main program: avo11.pas:8: warning: cast to type of different size avo11.pas:8: internal compiler error: Bus error Please submit a full bug report, with preprocessed source if appropriate. See URL:http://www.gnu-pascal.de/todo.html for instructions.
with backtrace:
Command: gpc1 Path: /Developer/Pascal/gpc343d7/libexec/gcc/powerpc-apple-darwin7/3.4.3/gpc1 Version: ??? (???) PID: 1333 Thread: 0
Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000038
Thread 0 Crashed: 0 gpc1 0x000c66d4 get_set_constructor_bits + 0x34 (tree.c:4654) 1 gpc1 0x000c693c get_set_constructor_bytes + 0x4c (tree.c:4730) 2 gpc1 0x000e4204 const_hash_1 + 0x3b4 (varasm.c:2130) 3 gpc1 0x002f773c htab_find_slot + 0x2c (hashtab.c:560) 4 gpc1 0x000e34c8 output_constant_def + 0x38 (varasm.c:2496) 5 gpc1 0x0007d6b0 expand_expr_real + 0x3c88 (expr.c:6910) 6 gpc1 0x0007d54c expand_expr_real + 0x3b24 (expr.c:8863) 7 gpc1 0x0007e9a0 expand_expr_real + 0x4f78 (expr.c:7658) 8 gpc1 0x0007a620 expand_expr_real + 0xbf8 (expr.c:6952) 9 gpc1 0x0007e9a0 expand_expr_real + 0x4f78 (expr.c:7658) 10 gpc1 0x00196ac8 expand_call + 0x2760 (calls.c:793) 11 gpc1 0x0007b6a0 expand_expr_real + 0x1c78 (expr.c:7595) 12 gpc1 0x000c9ff4 expand_expr_stmt_value + 0xe0 (stmt.c:2171) 13 gpc1 0x00007e5c yyuserAction + 0x4cd8 (parse.c:4691) 14 gpc1 0x000114cc main_yyparse + 0x738 (parse.c:8136) 15 gpc1 0x000be2ec toplev_main + 0x7b8 (toplev.c:1826) 16 gpc1 0x00001ed8 _start + 0x188 (crt.c:267) 17 dyld 0x8fe1a558 _dyld_start + 0x64
Regards,
Adriaan van Os