Bug 8439 - [3.2 regression] empty struct causes crash
Summary: [3.2 regression] empty struct causes crash
Status: RESOLVED FIXED
Alias: None
Product: gcc
Classification: Unclassified
Component: c (show other bugs)
Version: 3.2
: P3 normal
Target Milestone: ---
Assignee: Eric Botcazou
URL:
Keywords: ice-on-valid-code
Depends on:
Blocks:
 
Reported: 2002-11-03 10:26 UTC by rf13
Modified: 2003-07-25 17:33 UTC (History)
4 users (show)

See Also:
Host:
Target:
Build:
Known to work:
Known to fail:
Last reconfirmed:


Attachments
c.c (70 bytes, application/octet-stream)
2003-05-21 15:16 UTC, rf13
Details

Note You need to log in before you can comment on or make changes to this bug.
Description rf13 2002-11-03 10:26:00 UTC
c.c: In function `foobar':
c.c:7: Internal compiler error in instantiate_virtual_regs_1, at function.c:4126

Release:
gcc-3.2

Environment:
Linux 2.4.18-PPP i686,glibc-2.2.4-18.7.0.6

How-To-Repeat:
gcc -c c.c
Comment 1 Paolo Carlini 2002-11-03 10:31:56 UTC
State-Changed-From-To: open->analyzed
State-Changed-Why: Confirmed mainline and 3_2-branch.
    Regression from 2.95.x and 3.0.x -> high priority.
Comment 2 rf13 2002-11-04 20:18:07 UTC
From: Raimar Falke <rf13@inf.tu-dresden.de>
To: gcc-gnats@gcc.gnu.org, nobody@gcc.gnu.org
Cc:  
Subject: Re: c/8439: using an empty struct causes Internal compiler error in instantiate_virtual_regs_1, at function.c:4126
Date: Mon, 4 Nov 2002 20:18:07 +0100

 On Sun, Nov 03, 2002 at 06:26:00PM -0000, gcc-gnats@gcc.gnu.org wrote:
 > Thank you very much for your problem report.
 > It has the internal identification `c/8439'.
 > The individual assigned to look at your
 > report is: unassigned. 
 
 The problem is non-reproducible on a sun:
 
 $ uname -a
 SunOS irz601 5.7 Generic_106541-22 sun4u sparc SUNW,Ultra-2
 $ gcc --version
 gcc (GCC) 3.2
 Copyright (C) 2002 Free Software Foundation, Inc.
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 
 $ gcc -c c.c
 $ gcc -c -S c.c
 $ cat c.s
    .file   "c.c"
         .section        ".text"
         .align 4
         .type   foobar,#function
         .proc   020
 foobar:
         !#PROLOGUE# 0
         save    %sp, -112, %sp
         !#PROLOGUE# 1
         st      %i0, [%fp+68]
         ld      [%fp+68], %i0
         add     %i0, 0, %i0
         st      %i0, [%fp+68]
         nop
         ret
         restore
 .LLfe1:
         .size   foobar,.LLfe1-foobar
         .ident  "GCC: (GNU) 3.2"
 $
 
 	Raimar
 
 -- 
  email: rf13@inf.tu-dresden.de
  "The very concept of PNP is a lovely dream that simply does not translate to
   reality. The confusion of manually doing stuff is nothing compared to the
   confusion of computers trying to do stuff and getting it wrong, which they
   gleefully do with great enthusiasm." 
     -- Jinx Tigr in the SDM

Comment 3 Mark Mitchell 2002-11-11 05:38:22 UTC
From: mmitchel@gcc.gnu.org
To: gcc-gnats@gcc.gnu.org
Cc:  
Subject: c/8439
Date: 11 Nov 2002 05:38:22 -0000

 CVSROOT:	/cvs/gcc
 Module name:	gcc
 Changes by:	mmitchel@gcc.gnu.org	2002-11-10 21:38:22
 
 Modified files:
 	gcc/testsuite  : ChangeLog 
 	gcc            : ChangeLog recog.c 
 Added files:
 	gcc/testsuite/gcc.dg: 20021110.c 
 
 Log message:
 	PR c/8439
 	* recog.c (validate_replace_rtx_1) [PLUS]: Simplify only
 	if there is something new to be simplified.
 
 Patches:
 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&r1=1.2209&r2=1.2210
 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.dg/20021110.c.diff?cvsroot=gcc&r1=NONE&r2=1.1
 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&r1=1.15881&r2=1.15882
 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/recog.c.diff?cvsroot=gcc&r1=1.166&r2=1.167
 

Comment 4 Mark Mitchell 2002-11-12 16:27:37 UTC
From: mmitchel@gcc.gnu.org
To: gcc-gnats@gcc.gnu.org
Cc:  
Subject: c/8439
Date: 12 Nov 2002 16:27:37 -0000

 CVSROOT:	/cvs/gcc
 Module name:	gcc
 Changes by:	mmitchel@gcc.gnu.org	2002-11-12 08:27:36
 
 Modified files:
 	gcc/testsuite  : ChangeLog 
 Added files:
 	gcc/testsuite/gcc.c-torture/compile: 20021110.c 
 Removed files:
 	gcc/testsuite/gcc.dg: 20021110.c 
 
 Log message:
 	PR c/8439
 	* gcc.dg/20021110.c: Move to ...
 	* gcc.c-torture/compile/20021110.c: .... here.
 
 Patches:
 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&r1=1.2211&r2=1.2212
 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.dg/20021110.c.diff?cvsroot=gcc&r1=1.1&r2=NONE
 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.c-torture/compile/20021110.c.diff?cvsroot=gcc&r1=NONE&r2=1.1
 
Comment 5 Eric Botcazou 2002-11-14 01:48:41 UTC
Responsible-Changed-From-To: unassigned->ebotcazou
Responsible-Changed-Why: Fixed on mainline. Still present on gcc-3_2-branch as of gcc 3.2.1
Comment 6 Eric Botcazou 2002-11-23 00:11:55 UTC
State-Changed-From-To: analyzed->closed
State-Changed-Why: Fixed.
Comment 7 Eric Botcazou 2002-11-23 08:01:21 UTC
From: ebotcazou@gcc.gnu.org
To: gcc-gnats@gcc.gnu.org
Cc:  
Subject: c/8439
Date: 23 Nov 2002 08:01:21 -0000

 CVSROOT:	/cvs/gcc
 Module name:	gcc
 Branch: 	gcc-3_2-branch
 Changes by:	ebotcazou@gcc.gnu.org	2002-11-23 00:01:21
 
 Modified files:
 	gcc            : ChangeLog recog.c 
 
 Log message:
 	PR c/8439
 	* recog.c (validate_replace_rtx_1) [PLUS]: Simplify only
 	if there is something new to be simplified.
 
 Patches:
 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-3_2-branch&r1=1.13152.2.657.2.144&r2=1.13152.2.657.2.145
 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/recog.c.diff?cvsroot=gcc&only_with_tag=gcc-3_2-branch&r1=1.137.2.6&r2=1.137.2.6.2.1