[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#385306: ICE: gimplification failed, c++



Package: gcc-snapshot
Version: 20060823-1

PR28899

Works fine with gcc 4.1 and 4.2.0 20060819, but fails with 4.2
20060823 and 20060830.

> Automatic build of lcdf-typetools_2.36-1 on usurper by sbuild/amd64 0.46
...
> if /usr/lib/gcc-snapshot/bin/g++ -W -Wall -DHAVE_CONFIG_H -I. -I. -I.. -I../include    -g -O2 -MT otfcmap.o -MD -MP -MF ".deps/otfcmap.Tpo" -c -o otfcmap.o otfcmap.cc; \
>       then mv -f ".deps/otfcmap.Tpo" ".deps/otfcmap.Po"; else rm -f ".deps/otfcmap.Tpo"; exit 1; fi
> gimplification failed:
> {
>   register unsigned int __v;
>   register unsigned int __x;
> 
>   D.9311 = data + 4B;
>   D.9312 = (const uint32_t *) D.9311;
>   __x = *D.9312;
>   D.9313 = __builtin_constant_p (__x);
>   if (D.9313 != 0)
>     {
>       D.9314 = __x & 4278190080;
>       D.9315 = D.9314 >> 24;
>       D.9316 = __x & 16711680;
>       D.9317 = D.9316 >> 8;
>       D.9318 = D.9315 | D.9317;
>       D.9319 = __x & 65280;
>       D.9320 = D.9319 << 8;
>       D.9321 = D.9318 | D.9320;
>       D.9322 = __x & 255;
>       D.9323 = D.9322 << 24;
>       __v = D.9321 | D.9323;
>     }
>   else
>     {
>       __asm__("bswap %0":"=r" __v:"0" __x);
>     }
>   length = __v;
> } <bind_expr 0x2b62c0371af0
>     type <void_type 0x2b62bfaac0b0 void asm_written type_6 VOID
>         align 8 symtab 0 alias set -1
>         pointer_to_this <pointer_type 0x2b62bfaac160>>
>     side-effects tree_1
>     vars <var_decl 0x2b62c02c1b00 __v
>         type <integer_type 0x2b62bfa9a580 unsigned int sizes-gimplified asm_written public unsigned type_6 SI
>             size <integer_cst 0x2b62bfa87bd0 constant invariant 32>
>             unit size <integer_cst 0x2b62bfa876f0 constant invariant 4>
>             align 32 symtab -1074790304 alias set -1 precision 32 min <integer_cst 0x2b62bfa87cc0 0> max <integer_cst 0x2b62bfa87c90 4294967295>
>             pointer_to_this <pointer_type 0x2b62c0035630>>
>         used tree_1 unsigned regdecl decl_5 SI file otfcmap.cc line 207 size <integer_cst 0x2b62bfa87bd0 32> unit size <integer_cst 0x2b62bfa876f0 4>
>         align 32 context <function_decl 0x2b62c03221c0 check_table>
>         chain <var_decl 0x2b62c02c1dc0 __x type <integer_type 0x2b62bfa9a580 unsigned int>
>             used tree_1 tree_3 unsigned regdecl decl_5 SI file otfcmap.cc line 207 size <integer_cst 0x2b62bfa87bd0 32> unit size <integer_cst 0x2b62bfa876f0 4>
>             align 32 context <function_decl 0x2b62c03221c0 check_table>>>
>     body <statement_list 0x2b62bff337e0 type <void_type 0x2b62bfaac0b0 void>
>         side-effects head 0x2b62c038c4a0 tail 0x2b62c0346760 stmts 0x2b62c038bb40 0x2b62c038bb90 0x2b62c03715f0 0x2b62c038bc30 0x2b62c038bbe0 0x2b62c0371b40
> 
>         stmt <modify_expr 0x2b62c038bb40 type <pointer_type 0x2b62bffb10b0>
>             side-effects arg 0 <var_decl 0x2b62c038d2c0 D.9311>
>             arg 1 <plus_expr 0x2b62c03715a0 type <pointer_type 0x2b62bffb10b0>
>                 arg 0 <var_decl 0x2b62bff5e000 data>
>                 arg 1 <integer_cst 0x2b62c034c720 constant invariant 4>>
>             otfcmap.cc:207>
>         stmt <modify_expr 0x2b62c038bb90 type <pointer_type 0x2b62c0239dc0>
>             side-effects arg 0 <var_decl 0x2b62c038d370 D.9312>
>             arg 1 <nop_expr 0x2b62c035be40 type <pointer_type 0x2b62c0239dc0>
>                 arg 0 <var_decl 0x2b62c038d2c0 D.9311>>
>             otfcmap.cc:207>
>         stmt <modify_expr 0x2b62c03715f0 type <integer_type 0x2b62bfa9a580 unsigned int>
>             side-effects arg 0 <var_decl 0x2b62c02c1dc0 __x>
>             arg 1 <indirect_ref 0x2b62c035be80 type <integer_type 0x2b62c02480b0 unsigned int>
>                 readonly arg 0 <var_decl 0x2b62c038d370 D.9312>>
>             otfcmap.cc:207>
>         stmt <modify_expr 0x2b62c038bc30 type <integer_type 0x2b62bfa9a4d0 int>
>             side-effects arg 0 <var_decl 0x2b62c038d420 D.9313>
>             arg 1 <call_expr 0x2b62c0371690 type <integer_type 0x2b62bfa9a4d0 int>
>                 nothrow
>                 arg 0 <addr_expr 0x2b62c035bfc0 type <pointer_type 0x2b62c00538f0>
>                     readonly constant invariant arg 0 <function_decl 0x2b62bfb56000 __builtin_constant_p>>
>                 arg 1 <tree_list 0x2b62bff3ed50 value <var_decl 0x2b62c02c1dc0 __x>>
>                 otfcmap.cc:207>
>             otfcmap.cc:207>
>         stmt <cond_expr 0x2b62c038bbe0 type <void_type 0x2b62bfaac0b0 void>
>             side-effects
>             arg 0 <ne_expr 0x2b62c03716e0 type <boolean_type 0x2b62bfa9a8f0 bool>
>                 arg 0 <var_decl 0x2b62c038d420 D.9313>
>                 arg 1 <integer_cst 0x2b62bfaa5870 constant invariant 0>>
>             arg 1 <statement_list 0x2b62bffa46f0 type <void_type 0x2b62bfaac0b0 void>
>                 side-effects head 0x2b62c038c560 tail 0x2b62c038c6a0 stmts 0x2b62c038bc80 0x2b62c038bcd0 0x2b62c038bd20 0x2b62c038bd70 0x2b62c038bdc0 0x2b62c038be10 0x2b62c038be60 0x2b62c038beb0 0x2b62c038bf00 0x2b62c038bf50 0x2b62c0371aa0
> 
>                 stmt <modify_expr 0x2b62c038bc80 type <integer_type 0x2b62bfa9a580 unsigned int>
>                     side-effects arg 0 <var_decl 0x2b62c038d4d0 D.9314>
>                     arg 1 <bit_and_expr 0x2b62c0371730 type <integer_type 0x2b62bfa9a580 unsigned int>
>                         arg 0 <var_decl 0x2b62c02c1dc0 __x>
>                         arg 1 <integer_cst 0x2b62bfc56e70 constant invariant 4278190080>>
>                     otfcmap.cc:207>
>                 stmt <modify_expr 0x2b62c038bcd0 type <integer_type 0x2b62bfa9a580 unsigned int>
>                     side-effects arg 0 <var_decl 0x2b62c038d580 D.9315>
>                     arg 1 <rshift_expr 0x2b62c0371780 type <integer_type 0x2b62bfa9a580 unsigned int>
>                         arg 0 <var_decl 0x2b62c038d4d0 D.9314>
>                         arg 1 <integer_cst 0x2b62bfef9150 constant invariant 24>>
>                     otfcmap.cc:207>
>                 stmt <modify_expr 0x2b62c038bd20 type <integer_type 0x2b62bfa9a580 unsigned int>
>                     side-effects arg 0 <var_decl 0x2b62c038d630 D.9316>
>                     arg 1 <bit_and_expr 0x2b62c03717d0 type <integer_type 0x2b62bfa9a580 unsigned int>
>                         arg 0 <var_decl 0x2b62c02c1dc0 __x>
>                         arg 1 <integer_cst 0x2b62c0350ba0 constant invariant 16711680>>
>                     otfcmap.cc:207>
>                 stmt <modify_expr 0x2b62c038bd70 type <integer_type 0x2b62bfa9a580 unsigned int>
>                     side-effects arg 0 <var_decl 0x2b62c038d6e0 D.9317>
>                     arg 1 <rshift_expr 0x2b62c0371820 type <integer_type 0x2b62bfa9a580 unsigned int>
>                         arg 0 <var_decl 0x2b62c038d630 D.9316>
>                         arg 1 <integer_cst 0x2b62bfb7bb70 constant invariant 8>>
>                     otfcmap.cc:207>
>                 stmt <modify_expr 0x2b62c038bdc0 type <integer_type 0x2b62bfa9a580 unsigned int>
>                     side-effects arg 0 <var_decl 0x2b62c038d790 D.9318>
>                     arg 1 <bit_ior_expr 0x2b62c0371870 type <integer_type 0x2b62bfa9a580 unsigned int>
>                         arg 0 <var_decl 0x2b62c038d580 D.9315> arg 1 <var_decl 0x2b62c038d6e0 D.9317>>
>                     otfcmap.cc:207>
>                 stmt <modify_expr 0x2b62c038be10 type <integer_type 0x2b62bfa9a580 unsigned int>
>                     side-effects arg 0 <var_decl 0x2b62c038d840 D.9319>
>                     arg 1 <bit_and_expr 0x2b62c03718c0 type <integer_type 0x2b62bfa9a580 unsigned int>
>                         arg 0 <var_decl 0x2b62c02c1dc0 __x>
>                         arg 1 <integer_cst 0x2b62c0350c60 constant invariant 65280>>
>                     otfcmap.cc:207>
>                 stmt <modify_expr 0x2b62c038be60 type <integer_type 0x2b62bfa9a580 unsigned int>
>                     side-effects arg 0 <var_decl 0x2b62c038d8f0 D.9320>
>                     arg 1 <lshift_expr 0x2b62c0371910 type <integer_type 0x2b62bfa9a580 unsigned int>
>                         arg 0 <var_decl 0x2b62c038d840 D.9319> arg 1 <integer_cst 0x2b62bfb7bb70 8>>
>                     otfcmap.cc:207>
>                 stmt <modify_expr 0x2b62c038beb0 type <integer_type 0x2b62bfa9a580 unsigned int>
>                     side-effects arg 0 <var_decl 0x2b62c038d9a0 D.9321>
>                     arg 1 <bit_ior_expr 0x2b62c0371960 type <integer_type 0x2b62bfa9a580 unsigned int>
>                         arg 0 <var_decl 0x2b62c038d790 D.9318> arg 1 <var_decl 0x2b62c038d8f0 D.9320>>
>                     otfcmap.cc:207>
>                 stmt <modify_expr 0x2b62c038bf00 type <integer_type 0x2b62bfa9a580 unsigned int>
>                     side-effects arg 0 <var_decl 0x2b62c038da50 D.9322>
>                     arg 1 <bit_and_expr 0x2b62c03719b0 type <integer_type 0x2b62bfa9a580 unsigned int>
>                         arg 0 <var_decl 0x2b62c02c1dc0 __x>
>                         arg 1 <integer_cst 0x2b62c00177e0 constant invariant 255>>
>                     otfcmap.cc:207>
>                 stmt <modify_expr 0x2b62c038bf50 type <integer_type 0x2b62bfa9a580 unsigned int>
>                     side-effects arg 0 <var_decl 0x2b62c038db00 D.9323>
>                     arg 1 <lshift_expr 0x2b62c0371a00 type <integer_type 0x2b62bfa9a580 unsigned int>
>                         arg 0 <var_decl 0x2b62c038da50 D.9322> arg 1 <integer_cst 0x2b62bfef9150 24>>
>                     otfcmap.cc:207>
>                 stmt <modify_expr 0x2b62c0371aa0 type <integer_type 0x2b62bfa9a580 unsigned int>
>                     side-effects arg 0 <var_decl 0x2b62c02c1b00 __v>
>                     arg 1 <bit_ior_expr 0x2b62c0371a50 type <integer_type 0x2b62bfa9a580 unsigned int>
>                         arg 0 <var_decl 0x2b62c038d9a0 D.9321> arg 1 <var_decl 0x2b62c038db00 D.9323>>
>                     otfcmap.cc:207>>
>             arg 2 <statement_list 0x2b62bffa4780 type <void_type 0x2b62bfaac0b0 void>
>                 side-effects head 0x2b62c038c6c0 tail 0x2b62c038c6c0 stmts 0x2b62c02dfa20
> 
>                 stmt <asm_expr 0x2b62c02dfa20 type <void_type 0x2b62bfaac0b0 void>
>                     side-effects
>                     arg 0 <string_cst 0x2b62bff3ee70 type <array_type 0x2b62c03536e0>
>                         readonly constant invariant static "bswap %0\000">
>                     arg 1 <tree_list 0x2b62bff44030
>                         purpose <tree_list 0x2b62bff3ef90 value <string_cst 0x2b62bff3eea0>> value <var_decl 0x2b62c02c1b00 __v>>
>                     arg 2 <tree_list 0x2b62bff44120
>                         purpose <tree_list 0x2b62bff440f0 value <string_cst 0x2b62bff44060>> value <var_decl 0x2b62c02c1dc0 __x>>
>                     otfcmap.cc:207>>
>             otfcmap.cc:207>
>         stmt <modify_expr 0x2b62c0371b40 type <integer_type 0x2b62bff06000 uint32_t>
>             side-effects arg 0 <var_decl 0x2b62c003d6e0 length> arg 1 <var_decl 0x2b62c02c1b00 __v>
>             otfcmap.cc:206>>
>     block <block 0x2b62c0369a80 used vars <var_decl 0x2b62c02c1b00 __v>
>         supercontext <block 0x2b62c0369af0 used
>             supercontext <block 0x2b62c0369d90 used vars <var_decl 0x2b62c02c8b00 nGroups>
>                 supercontext <block 0x2b62c0369e00 used
>                     supercontext <block 0x2b62c0369e70 used
>                         supercontext <block 0x2b62c0369ee0 used vars <var_decl 0x2b62bff5e000 data> supercontext <block 0x2b62c0369f50> subblocks <block 0x2b62c02fbd90>> subblocks <block 0x2b62c0369e00>>
>                     subblocks <block 0x2b62c02fbee0 used supercontext <block 0x2b62c0369e00>
>                         subblocks <block 0x2b62c02fbe70 used vars <var_decl 0x2b62c003f8f0 __v> supercontext <block 0x2b62c02fbee0>>
>                         chain <block 0x2b62c02fb000 used supercontext <block 0x2b62c0369e00> subblocks <block 0x2b62c02fbf50> chain <block 0x2b62c0369230>>>> subblocks <block 0x2b62c0369af0>> subblocks <block 0x2b62c0369a80>
>             chain <block 0x2b62c0369b60 used vars <var_decl 0x2b62c02d70b0 __v> supercontext <block 0x2b62c0369d90>
>                 chain <block 0x2b62c0369d20 used vars <var_decl 0x2b62c02db160 i> supercontext <block 0x2b62c0369d90>
>                     subblocks <block 0x2b62c0369cb0 used vars <var_decl 0x2b62c02db210 startCharCode> supercontext <block 0x2b62c0369d20>
>                         subblocks <block 0x2b62c0369bd0 used vars <var_decl 0x2b62c02db4d0 __v> supercontext <block 0x2b62c0369cb0> chain <block 0x2b62c0369c40>>>>>>>
>     otfcmap.cc:207>
> otfcmap.cc: In member function 'int Efont::OpenType::Cmap::check_table(int, ErrorHandler*) const':
> otfcmap.cc:206: internal compiler error: gimplification failed
> Please submit a full bug report,
> with preprocessed source if appropriate.
> See <URL:http://gcc.gnu.org/bugs.html> for instructions.
> For Debian GNU/Linux specific bug reporting instructions,
> see <URL:file:///usr/share/doc/gcc-4.1/README.Bugs>.
> make[3]: *** [otfcmap.o] Error 1
> make[3]: Leaving directory `/build/tbm/lcdf-typetools-2.36/libefont'

-- 
Martin Michlmayr
http://www.cyrius.com/



Reply to: