This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug c++/28899] New: [4.2 regression] gimplification failed


The attached testcase produces an ICE "gimplification failed".  Works fine with
gcc 4.1 and 4.2.0 20060819, but fails with 4.2 20060823 and 20060830.

gimplification failed:
{
  register unsigned int __v;
  register unsigned int __x;

  D.2493 = data + 4B;
  D.2494 = (const uint32_t *) D.2493;
  __x = *D.2494;
  length = __v;
} <bind_expr 0x2ad672cdd140
    type <void_type 0x2ad672b5d0b0 void VOID
        align 8 symtab 0 alias set -1
        pointer_to_this <pointer_type 0x2ad672b5d160>>
    side-effects tree_1
    vars <var_decl 0x2ad672cdb630 __v
        type <integer_type 0x2ad672b4b580 unsigned int sizes-gimplified public
unsigned SI
            size <integer_cst 0x2ad672b38ba0 constant invariant 32>
            unit size <integer_cst 0x2ad672b386c0 constant invariant 4>
            align 32 symtab 0 alias set -1 precision 32 min <integer_cst
0x2ad672b38c90 0> max <integer_cst 0x2ad672b38c60 4294967295>>
        used tree_1 unsigned regdecl decl_5 SI file lcdf-typetools-otfcmap.cc
line 92 size <integer_cst 0x2ad672b38ba0 32> unit size <integer_cst
0x2ad672b386c0 4>
        align 32 context <function_decl 0x2ad672cc88c0 check_table>
        chain <var_decl 0x2ad672cdb6e0 __x type <integer_type 0x2ad672b4b580
unsigned int>
            tree_1 tree_3 unsigned regdecl decl_5 SI file
lcdf-typetools-otfcmap.cc line 92 size <integer_cst 0x2ad672b38ba0 32> unit
size <integer_cst 0x2ad672b386c0 4>
            align 32 context <function_decl 0x2ad672cc88c0 check_table>>>
    body <statement_list 0x2ad672cd6ae0 type <void_type 0x2ad672b5d0b0 void>
        side-effects head 0x2ad672ce0d80 tail 0x2ad672cceca0 stmts
0x2ad672ce3e10 0x2ad672ce3e60 0x2ad672cdd0f0 0x2ad672cdd190

        stmt <modify_expr 0x2ad672ce3e10 type <pointer_type 0x2ad672cd3e70>
            side-effects arg 0 <var_decl 0x2ad672ce69a0 D.2493>
            arg 1 <plus_expr 0x2ad672cdd0a0 type <pointer_type 0x2ad672cd3e70>
                arg 0 <var_decl 0x2ad672cd3f20 data>
                arg 1 <integer_cst 0x2ad672cd2720 constant invariant 4>>
            lcdf-typetools-otfcmap.cc:94>
        stmt <modify_expr 0x2ad672ce3e60 type <pointer_type 0x2ad672cd5370>
            side-effects arg 0 <var_decl 0x2ad672ce6a50 D.2494>
            arg 1 <nop_expr 0x2ad672cdc840 type <pointer_type 0x2ad672cd5370>
                arg 0 <var_decl 0x2ad672ce69a0 D.2493>>
            lcdf-typetools-otfcmap.cc:94>
        stmt <modify_expr 0x2ad672cdd0f0 type <integer_type 0x2ad672b4b580
unsigned int>
            side-effects arg 0 <var_decl 0x2ad672cdb6e0 __x>
            arg 1 <indirect_ref 0x2ad672cdc880 type <integer_type
0x2ad672cd5420 unsigned int>
                readonly arg 0 <var_decl 0x2ad672ce6a50 D.2494>>
            lcdf-typetools-otfcmap.cc:94>
        stmt <modify_expr 0x2ad672cdd190 type <integer_type 0x2ad672cc94d0
uint32_t>
            side-effects arg 0 <var_decl 0x2ad672cd5a50 length> arg 1 <var_decl
0x2ad672cdb630 __v>
            lcdf-typetools-otfcmap.cc:89>>
    block <block 0x2ad672cde000 used vars <var_decl 0x2ad672cdb630 __v>
        supercontext <block 0x2ad672cde070 used
            supercontext <block 0x2ad672cde230 used vars <var_decl
0x2ad672cdb8f0 nGroups>
                supercontext <block 0x2ad672cde2a0 used vars <var_decl
0x2ad672cdb0b0 subh_key>
                    supercontext <block 0x2ad672cde310 used
                        supercontext <block 0x2ad672cde380 used vars <var_decl
0x2ad672cdb000 hi_byte> supercontext <block 0x2ad672cde3f0> subblocks <block
0x2ad672cde310>> subblocks <block 0x2ad672cde2a0>>
                    subblocks <block 0x2ad6727fad90 used vars <var_decl
0x2ad672cdb160 __v> supercontext <block 0x2ad672cde2a0> chain <block
0x2ad672cde230>>>
                subblocks <block 0x2ad6727faf50 used supercontext <block
0x2ad672cde230>
                    subblocks <block 0x2ad6727fae00 used vars <var_decl
0x2ad672cdb2c0 __v> supercontext <block 0x2ad6727faf50>
                        chain <block 0x2ad6727faee0 used vars <var_decl
0x2ad672cdb420 entryCount> supercontext <block 0x2ad6727faf50> subblocks <block
0x2ad6727fae70>>> chain <block 0x2ad672cde070>>> subblocks <block
0x2ad672cde000>
            chain <block 0x2ad672cde0e0 used vars <var_decl 0x2ad672cdb9a0 __v>
supercontext <block 0x2ad672cde230>
                chain <block 0x2ad672cde1c0 used vars <var_decl 0x2ad672cdbb00
startCharCode> supercontext <block 0x2ad672cde230>
                    subblocks <block 0x2ad672cde150 used vars <var_decl
0x2ad672cdbbb0 __v> supercontext <block 0x2ad672cde1c0>>>>>>
    lcdf-typetools-otfcmap.cc:94>
lcdf-typetools-otfcmap.cc: In member function 'int
Efont::OpenType::Cmap::check_table(int, ErrorHandler*) const':
lcdf-typetools-otfcmap.cc:89: 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.


-- 
           Summary: [4.2 regression] gimplification failed
           Product: gcc
           Version: 4.2.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: tbm at cyrius dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28899


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]