GDC for x86_64!

Thomas Kuehne thomas-dloop at kuehne.cn
Fri Sep 22 17:30:38 PDT 2006


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Anders F Björklund schrieb am 2006-09-21:
> Thomas Kuehne wrote:
>
>> I had to disable some code in the following files due to
>> "internal compiler error: in copy_to_mode_reg, at explow.c:691"
>> "internal compiler error: in emit_move_insn, at expr.c:2830"
>> "internal compiler error: in expand_expr_real, at expr.c:6525"
>> 
>> d/phobos/std/file.d
>> d/phobos/std/string.d
>> d/phobos/std/regexp.d
>> d/phobos/std/format.d
>> d/phobos/std/zip.d
>
> Did you have a patch for those ? Think I saw the same on PPC64,
> for the std.string "abbrev" but didn't encounter the others...
>
>
> I just did a version() and a assert(0), to disable ICE sections:
>
> version (PPC64)
> {
> assert(0); // "internal compiler error: in copy_to_mode_reg, at 
> explow.c:581"
> }
> else
>
> Think you could do the same workaround for the five issues above ?
> (depending on whether it was in a commonly used function or not...)

std.string and std.regexp would be empty shells.

internal compiler error: in copy_to_mode_reg, at explow.c:691

# void foo(){
#	char[] x = new char[2];
#	size_t i = 1;
#
#	char c = x[i];
#	x[i+1] = c;
# }


b.d:5: error: unrecognizable insn:
(insn 19 18 22 0 (parallel [
            (set (reg:SI 58)
                (plus:DI (reg:DI 61)
                    (const_int -1 [0xffffffffffffffff])))
            (clobber (reg:CC 17 flags))
        ]) -1 (nil)
    (expr_list:REG_DEAD (reg:DI 61)
        (expr_list:REG_UNUSED (reg:CC 17 flags)
            (nil))))
b.d:5: internal compiler error: in extract_insn, at recog.c:2083
 
# void bar(){
# 	char* p;
# 	size_t len = std.string.strlen(p);
# }

Thomas


-----BEGIN PGP SIGNATURE-----

iD8DBQFFFIzeLK5blCcjpWoRAtFUAJsGNp701A5NT44iWL98YFYxIFRBlgCgq2Ac
p7lWA/l0xH5EMkkteaCgXHo=
=Gm1V
-----END PGP SIGNATURE-----



More information about the D.gnu mailing list