public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/28899]  New: [4.2 regression] gimplification failed
@ 2006-08-30 11:26 tbm at cyrius dot com
  2006-08-30 11:27 ` [Bug c++/28899] " tbm at cyrius dot com
                   ` (9 more replies)
  0 siblings, 10 replies; 11+ messages in thread
From: tbm at cyrius dot com @ 2006-08-30 11:26 UTC (permalink / raw)
  To: gcc-bugs

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


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug c++/28899] [4.2 regression] gimplification failed
  2006-08-30 11:26 [Bug c++/28899] New: [4.2 regression] gimplification failed tbm at cyrius dot com
@ 2006-08-30 11:27 ` tbm at cyrius dot com
  2006-08-30 13:01 ` pinskia at gcc dot gnu dot org
                   ` (8 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: tbm at cyrius dot com @ 2006-08-30 11:27 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #1 from tbm at cyrius dot com  2006-08-30 11:27 -------
Created an attachment (id=12152)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=12152&action=view)
test case

Testcase from application "lcdf-typetools".


-- 


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


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug c++/28899] [4.2 regression] gimplification failed
  2006-08-30 11:26 [Bug c++/28899] New: [4.2 regression] gimplification failed tbm at cyrius dot com
  2006-08-30 11:27 ` [Bug c++/28899] " tbm at cyrius dot com
@ 2006-08-30 13:01 ` pinskia at gcc dot gnu dot org
  2006-08-31  3:10 ` pinskia at gcc dot gnu dot org
                   ` (7 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2006-08-30 13:01 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #2 from pinskia at gcc dot gnu dot org  2006-08-30 13:00 -------
Confirmed, reduced testcase:
int check_table (int t)
{
  unsigned length = 0;
  if ((length =__extension__ ({register unsigned __v; __v;})))
    ;
}


-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|0                           |1
   Last reconfirmed|0000-00-00 00:00:00         |2006-08-30 13:00:58
               date|                            |
   Target Milestone|---                         |4.2.0


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


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug c++/28899] [4.2 regression] gimplification failed
  2006-08-30 11:26 [Bug c++/28899] New: [4.2 regression] gimplification failed tbm at cyrius dot com
  2006-08-30 11:27 ` [Bug c++/28899] " tbm at cyrius dot com
  2006-08-30 13:01 ` pinskia at gcc dot gnu dot org
@ 2006-08-31  3:10 ` pinskia at gcc dot gnu dot org
  2006-08-31  9:55 ` tbm at cyrius dot com
                   ` (6 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2006-08-31  3:10 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #3 from pinskia at gcc dot gnu dot org  2006-08-31 03:10 -------
I almost think it was caused by the patch which fixed PR 27115.
Martin, can you try a newer gcc 4.1.2 to double check that it is not a
regression there also?


-- 


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


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug c++/28899] [4.2 regression] gimplification failed
  2006-08-30 11:26 [Bug c++/28899] New: [4.2 regression] gimplification failed tbm at cyrius dot com
                   ` (2 preceding siblings ...)
  2006-08-31  3:10 ` pinskia at gcc dot gnu dot org
@ 2006-08-31  9:55 ` tbm at cyrius dot com
  2006-09-01  5:46 ` pinskia at gcc dot gnu dot org
                   ` (5 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: tbm at cyrius dot com @ 2006-08-31  9:55 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #4 from tbm at cyrius dot com  2006-08-31 09:55 -------
(In reply to comment #3)
> I almost think it was caused by the patch which fixed PR 27115.
> Martin, can you try a newer gcc 4.1.2 to double check that it is not a
> regression there also?

No, 4.1.2 20060831 works.


-- 


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


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug c++/28899] [4.2 regression] gimplification failed
  2006-08-30 11:26 [Bug c++/28899] New: [4.2 regression] gimplification failed tbm at cyrius dot com
                   ` (3 preceding siblings ...)
  2006-08-31  9:55 ` tbm at cyrius dot com
@ 2006-09-01  5:46 ` pinskia at gcc dot gnu dot org
  2006-09-01  5:52 ` pinskia at gcc dot gnu dot org
                   ` (4 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2006-09-01  5:46 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #5 from pinskia at gcc dot gnu dot org  2006-09-01 05:46 -------
Janis,
  Could you run a regression hunt on this bug?
Thanks,
Andrew


-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |janis at gcc dot gnu dot org


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


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug c++/28899] [4.2 regression] gimplification failed
  2006-08-30 11:26 [Bug c++/28899] New: [4.2 regression] gimplification failed tbm at cyrius dot com
                   ` (4 preceding siblings ...)
  2006-09-01  5:46 ` pinskia at gcc dot gnu dot org
@ 2006-09-01  5:52 ` pinskia at gcc dot gnu dot org
  2006-09-01  6:11 ` [Bug c++/28899] [/4.2 " pinskia at gcc dot gnu dot org
                   ` (3 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2006-09-01  5:52 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #6 from pinskia at gcc dot gnu dot org  2006-09-01 05:52 -------
(In reply to comment #4)
> No, 4.1.2 20060831 works.
Well the ICE can only happen with checking turned on so it could still be a bug
in 4.1.2.


-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |ice-checking


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


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug c++/28899] [/4.2 regression] gimplification failed
  2006-08-30 11:26 [Bug c++/28899] New: [4.2 regression] gimplification failed tbm at cyrius dot com
                   ` (5 preceding siblings ...)
  2006-09-01  5:52 ` pinskia at gcc dot gnu dot org
@ 2006-09-01  6:11 ` pinskia at gcc dot gnu dot org
  2006-09-01 14:51 ` jason at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2006-09-01  6:11 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #7 from pinskia at gcc dot gnu dot org  2006-09-01 06:11 -------
Here is an even more reduced testcase:
void f(void)
{
  unsigned l, l1;
  l1 = l = ({unsigned __v; __v;});
}

Note the double use is required to ICE, otherwise we are ok.
There is no question about it after looking at the patch for PR 27115, that
patch caused this ICE.  We used to create a temporary variable but now we
don't.




(In reply to comment #6)
> Well the ICE can only happen with checking turned on so it could still be a 
> bug in 4.1.2.
Actually it cannot be as that patch was only applied to the mainline.


-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jason at gcc dot gnu dot org
  BugsThisDependsOn|                            |27115
           Severity|normal                      |blocker
      Known to work|4.0.3 4.1.1                 |4.0.3 4.1.1 4.0.4 4.1.2
            Summary|[4.2 regression]            |[/4.2 regression]
                   |gimplification failed       |gimplification failed
   Target Milestone|4.2.0                       |4.0.4


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


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug c++/28899] [/4.2 regression] gimplification failed
  2006-08-30 11:26 [Bug c++/28899] New: [4.2 regression] gimplification failed tbm at cyrius dot com
                   ` (6 preceding siblings ...)
  2006-09-01  6:11 ` [Bug c++/28899] [/4.2 " pinskia at gcc dot gnu dot org
@ 2006-09-01 14:51 ` jason at gcc dot gnu dot org
  2006-09-01 17:59 ` [Bug c++/28899] [4.2 " jason at gcc dot gnu dot org
  2006-09-01 18:00 ` jason at gcc dot gnu dot org
  9 siblings, 0 replies; 11+ messages in thread
From: jason at gcc dot gnu dot org @ 2006-09-01 14:51 UTC (permalink / raw)
  To: gcc-bugs



-- 

jason at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|unassigned at gcc dot gnu   |jason at gcc dot gnu dot org
                   |dot org                     |
             Status|NEW                         |ASSIGNED
   Last reconfirmed|2006-08-30 13:00:58         |2006-09-01 14:51:21
               date|                            |


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


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug c++/28899] [4.2 regression] gimplification failed
  2006-08-30 11:26 [Bug c++/28899] New: [4.2 regression] gimplification failed tbm at cyrius dot com
                   ` (7 preceding siblings ...)
  2006-09-01 14:51 ` jason at gcc dot gnu dot org
@ 2006-09-01 17:59 ` jason at gcc dot gnu dot org
  2006-09-01 18:00 ` jason at gcc dot gnu dot org
  9 siblings, 0 replies; 11+ messages in thread
From: jason at gcc dot gnu dot org @ 2006-09-01 17:59 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #8 from jason at gcc dot gnu dot org  2006-09-01 17:59 -------
Subject: Bug 28899

Author: jason
Date: Fri Sep  1 17:59:41 2006
New Revision: 116637

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=116637
Log:
        PR c++/28899
        * gimplify.c (gimplify_modify_expr_rhs) [BIND_EXPR]: Handle
        want_value.

        * gimplify.c (voidify_wrapper_expr): Handle null type.

Added:
    trunk/gcc/testsuite/g++.dg/ext/stmtexpr9.C
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/gimplify.c


-- 


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


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug c++/28899] [4.2 regression] gimplification failed
  2006-08-30 11:26 [Bug c++/28899] New: [4.2 regression] gimplification failed tbm at cyrius dot com
                   ` (8 preceding siblings ...)
  2006-09-01 17:59 ` [Bug c++/28899] [4.2 " jason at gcc dot gnu dot org
@ 2006-09-01 18:00 ` jason at gcc dot gnu dot org
  9 siblings, 0 replies; 11+ messages in thread
From: jason at gcc dot gnu dot org @ 2006-09-01 18:00 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #9 from jason at gcc dot gnu dot org  2006-09-01 18:00 -------
fixed.


-- 

jason at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|                            |FIXED


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


^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2006-09-01 18:00 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-08-30 11:26 [Bug c++/28899] New: [4.2 regression] gimplification failed tbm at cyrius dot com
2006-08-30 11:27 ` [Bug c++/28899] " tbm at cyrius dot com
2006-08-30 13:01 ` pinskia at gcc dot gnu dot org
2006-08-31  3:10 ` pinskia at gcc dot gnu dot org
2006-08-31  9:55 ` tbm at cyrius dot com
2006-09-01  5:46 ` pinskia at gcc dot gnu dot org
2006-09-01  5:52 ` pinskia at gcc dot gnu dot org
2006-09-01  6:11 ` [Bug c++/28899] [/4.2 " pinskia at gcc dot gnu dot org
2006-09-01 14:51 ` jason at gcc dot gnu dot org
2006-09-01 17:59 ` [Bug c++/28899] [4.2 " jason at gcc dot gnu dot org
2006-09-01 18:00 ` jason at gcc dot gnu dot org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).