public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/32950]  New: -O1 and -O2 options cause internal compiler error
@ 2007-07-31 17:56 Max dot Moorkamp at gmx dot net
  2007-07-31 17:57 ` [Bug c++/32950] " Max dot Moorkamp at gmx dot net
                   ` (19 more replies)
  0 siblings, 20 replies; 21+ messages in thread
From: Max dot Moorkamp at gmx dot net @ 2007-07-31 17:56 UTC (permalink / raw)
  To: gcc-bugs

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 1737 bytes --]

Hi,

the -O1 and -O2 options cause an internal compiler error in my newly compiled
g++ 4.2.1. Omitting this option compiles without any apparent problems and the
ubuntu 06/10 g++, i.e. gcc version 4.1.2 20060928 (prerelease) (Ubuntu
4.1.1-13ubuntu5), also compiles it fine, with and without the -O2 or -O1.
I still have the old g++ installed in the standard location.

Here is the output of gcc -v

Using built-in specs.
Target: i486-linux-gnu
Configured with: ../src/configure -v
--enable-languages=c,c++,fortran,objc,obj-c++,treelang --prefix=/usr
--enable-shared --with-system-zlib --libexecdir=/usr/lib
--without-included-gettext --enable-threads=posix --enable-nls
--program-suffix=-4.1 --enable-__cxa_atexit --enable-clocale=gnu
--enable-libstdcxx-debug --enable-mpfr --enable-checking=release i486-linux-gnu
Thread model: posix
gcc version 4.1.2 20060928 (prerelease) (Ubuntu 4.1.1-13ubuntu5)

my command line was

/opt/gcc4.2.1/bin/g++-4.2 -O2 -c -save-temps bug2.cpp

and produced this output

bug2.cpp: In function ‘int main()’:
bug2.cpp:16: internal compiler error: in convert_move, at expr.c:363
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.


-- 
           Summary: -O1 and -O2 options cause internal compiler error
           Product: gcc
           Version: 4.2.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: Max dot Moorkamp at gmx dot net
 GCC build triplet: i486-linux-gnu
  GCC host triplet: i486-linux-gnu
GCC target triplet: i486-linux-gnu


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


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

* [Bug c++/32950] -O1 and -O2 options cause internal compiler error
  2007-07-31 17:56 [Bug c++/32950] New: -O1 and -O2 options cause internal compiler error Max dot Moorkamp at gmx dot net
@ 2007-07-31 17:57 ` Max dot Moorkamp at gmx dot net
  2007-07-31 18:06 ` [Bug middle-end/32950] " pinskia at gcc dot gnu dot org
                   ` (18 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: Max dot Moorkamp at gmx dot net @ 2007-07-31 17:57 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #1 from Max dot Moorkamp at gmx dot net  2007-07-31 17:57 -------
Created an attachment (id=14000)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14000&action=view)
the testcase


-- 


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


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

* [Bug middle-end/32950] -O1 and -O2 options cause internal compiler error
  2007-07-31 17:56 [Bug c++/32950] New: -O1 and -O2 options cause internal compiler error Max dot Moorkamp at gmx dot net
  2007-07-31 17:57 ` [Bug c++/32950] " Max dot Moorkamp at gmx dot net
@ 2007-07-31 18:06 ` pinskia at gcc dot gnu dot org
  2007-12-27 20:06 ` [Bug middle-end/32950] [4.1/4.2 regression] ICE with __complex__ double reichelt at gcc dot gnu dot org
                   ` (17 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2007-07-31 18:06 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #2 from pinskia at gcc dot gnu dot org  2007-07-31 18:05 -------
This works on the trunk on i386-apple-darwin.


-- 


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


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

* [Bug middle-end/32950] [4.1/4.2 regression] ICE with __complex__ double
  2007-07-31 17:56 [Bug c++/32950] New: -O1 and -O2 options cause internal compiler error Max dot Moorkamp at gmx dot net
  2007-07-31 17:57 ` [Bug c++/32950] " Max dot Moorkamp at gmx dot net
  2007-07-31 18:06 ` [Bug middle-end/32950] " pinskia at gcc dot gnu dot org
@ 2007-12-27 20:06 ` reichelt at gcc dot gnu dot org
  2008-02-01 17:02 ` jsm28 at gcc dot gnu dot org
                   ` (16 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: reichelt at gcc dot gnu dot org @ 2007-12-27 20:06 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #3 from reichelt at gcc dot gnu dot org  2007-12-27 20:06 -------
Confirmed. Reduced testcase that crashes on i686-pc-linux-gnu when compiled
with "-march=i386 -O" or "-march=i486 -O":

===========================================
struct A
{
  __complex__ double c;
};

struct B
{
  A a;
  B(A x) : a(x) {}
  void foo();
};

void bar()
{
  B b = A();
  B(b).foo();
}
===========================================

The bug is present since GCC 4.1.0, but seems to be fixed on mainline.


-- 

reichelt at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |reichelt at gcc dot gnu dot
                   |                            |org
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|0                           |1
           Keywords|                            |ice-on-valid-code, monitored
      Known to fail|                            |4.1.0 4.1.2 4.2.0 4.2.2
      Known to work|                            |4.0.0 4.0.4 4.3.0
   Last reconfirmed|0000-00-00 00:00:00         |2007-12-27 20:06:31
               date|                            |
            Summary|-O1 and -O2 options cause   |[4.1/4.2 regression] ICE
                   |internal compiler error     |with __complex__ double
   Target Milestone|---                         |4.2.3


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


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

* [Bug middle-end/32950] [4.1/4.2 regression] ICE with __complex__ double
  2007-07-31 17:56 [Bug c++/32950] New: -O1 and -O2 options cause internal compiler error Max dot Moorkamp at gmx dot net
                   ` (2 preceding siblings ...)
  2007-12-27 20:06 ` [Bug middle-end/32950] [4.1/4.2 regression] ICE with __complex__ double reichelt at gcc dot gnu dot org
@ 2008-02-01 17:02 ` jsm28 at gcc dot gnu dot org
  2008-05-19 20:28 ` jsm28 at gcc dot gnu dot org
                   ` (15 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: jsm28 at gcc dot gnu dot org @ 2008-02-01 17:02 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #4 from jsm28 at gcc dot gnu dot org  2008-02-01 16:54 -------
4.2.3 is being released now, changing milestones of open bugs to 4.2.4.


-- 

jsm28 at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|4.2.3                       |4.2.4


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


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

* [Bug middle-end/32950] [4.1/4.2 regression] ICE with __complex__ double
  2007-07-31 17:56 [Bug c++/32950] New: -O1 and -O2 options cause internal compiler error Max dot Moorkamp at gmx dot net
                   ` (3 preceding siblings ...)
  2008-02-01 17:02 ` jsm28 at gcc dot gnu dot org
@ 2008-05-19 20:28 ` jsm28 at gcc dot gnu dot org
  2008-07-04 22:48 ` [Bug middle-end/32950] [4.2 " jsm28 at gcc dot gnu dot org
                   ` (14 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: jsm28 at gcc dot gnu dot org @ 2008-05-19 20:28 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #5 from jsm28 at gcc dot gnu dot org  2008-05-19 20:23 -------
4.2.4 is being released, changing milestones to 4.2.5.


-- 

jsm28 at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|4.2.4                       |4.2.5


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


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

* [Bug middle-end/32950] [4.2 regression] ICE with __complex__ double
  2007-07-31 17:56 [Bug c++/32950] New: -O1 and -O2 options cause internal compiler error Max dot Moorkamp at gmx dot net
                   ` (4 preceding siblings ...)
  2008-05-19 20:28 ` jsm28 at gcc dot gnu dot org
@ 2008-07-04 22:48 ` jsm28 at gcc dot gnu dot org
  2009-03-30 22:12 ` jsm28 at gcc dot gnu dot org
                   ` (13 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: jsm28 at gcc dot gnu dot org @ 2008-07-04 22:48 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #6 from jsm28 at gcc dot gnu dot org  2008-07-04 22:47 -------
Closing 4.1 branch.


-- 

jsm28 at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|[4.1/4.2 regression] ICE    |[4.2 regression] ICE with
                   |with __complex__ double     |__complex__ double


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


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

* [Bug middle-end/32950] [4.2 regression] ICE with __complex__ double
  2007-07-31 17:56 [Bug c++/32950] New: -O1 and -O2 options cause internal compiler error Max dot Moorkamp at gmx dot net
                   ` (5 preceding siblings ...)
  2008-07-04 22:48 ` [Bug middle-end/32950] [4.2 " jsm28 at gcc dot gnu dot org
@ 2009-03-30 22:12 ` jsm28 at gcc dot gnu dot org
  2009-06-06 20:33 ` [Bug middle-end/32950] [4.5 " reichelt at gcc dot gnu dot org
                   ` (12 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: jsm28 at gcc dot gnu dot org @ 2009-03-30 22:12 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #7 from jsm28 at gcc dot gnu dot org  2009-03-30 22:12 -------
Closing 4.2 branch, fixed in 4.3.


-- 

jsm28 at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
      Known to fail|4.1.0 4.1.2 4.2.0 4.2.2     |4.1.0 4.1.2 4.2.0 4.2.2
                   |                            |4.2.5
         Resolution|                            |FIXED
   Target Milestone|4.2.5                       |4.3.0


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


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

* [Bug middle-end/32950] [4.5 regression] ICE with __complex__ double
  2007-07-31 17:56 [Bug c++/32950] New: -O1 and -O2 options cause internal compiler error Max dot Moorkamp at gmx dot net
                   ` (6 preceding siblings ...)
  2009-03-30 22:12 ` jsm28 at gcc dot gnu dot org
@ 2009-06-06 20:33 ` reichelt at gcc dot gnu dot org
  2009-06-06 22:16 ` hjl dot tools at gmail dot com
                   ` (11 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: reichelt at gcc dot gnu dot org @ 2009-06-06 20:33 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #8 from reichelt at gcc dot gnu dot org  2009-06-06 20:32 -------
The bug reappeared between 2009-05-22 and 2009-05-29 on the trunk.


-- 

reichelt at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |REOPENED
         Resolution|FIXED                       |
            Summary|[4.2 regression] ICE with   |[4.5 regression] ICE with
                   |__complex__ double          |__complex__ double
   Target Milestone|4.3.0                       |4.5.0


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


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

* [Bug middle-end/32950] [4.5 regression] ICE with __complex__ double
  2007-07-31 17:56 [Bug c++/32950] New: -O1 and -O2 options cause internal compiler error Max dot Moorkamp at gmx dot net
                   ` (7 preceding siblings ...)
  2009-06-06 20:33 ` [Bug middle-end/32950] [4.5 " reichelt at gcc dot gnu dot org
@ 2009-06-06 22:16 ` hjl dot tools at gmail dot com
  2009-06-06 22:22 ` joseph at codesourcery dot com
                   ` (10 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: hjl dot tools at gmail dot com @ 2009-06-06 22:16 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #9 from hjl dot tools at gmail dot com  2009-06-06 22:16 -------
(In reply to comment #8)
> The bug reappeared between 2009-05-22 and 2009-05-29 on the trunk.
> 

That is why we shouldn't close a bug report without checking
in a testcase.


-- 


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


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

* [Bug middle-end/32950] [4.5 regression] ICE with __complex__ double
  2007-07-31 17:56 [Bug c++/32950] New: -O1 and -O2 options cause internal compiler error Max dot Moorkamp at gmx dot net
                   ` (8 preceding siblings ...)
  2009-06-06 22:16 ` hjl dot tools at gmail dot com
@ 2009-06-06 22:22 ` joseph at codesourcery dot com
  2009-06-07 13:26 ` hjl dot tools at gmail dot com
                   ` (9 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: joseph at codesourcery dot com @ 2009-06-06 22:22 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #10 from joseph at codesourcery dot com  2009-06-06 22:22 -------
Subject: Re:  [4.5 regression] ICE with __complex__
 double

On Sat, 6 Jun 2009, hjl dot tools at gmail dot com wrote:

> That is why we shouldn't close a bug report without checking
> in a testcase.

Closing a branch is already a full day's work without adding checking for 
testcases on trunk and adding them as needed to the mix.  I advise adding 
them at the point of asserting that the bug is fixed on trunk rather than 
the possibly much later point of closing the bug when all earlier branches 
are closed.


-- 


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


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

* [Bug middle-end/32950] [4.5 regression] ICE with __complex__ double
  2007-07-31 17:56 [Bug c++/32950] New: -O1 and -O2 options cause internal compiler error Max dot Moorkamp at gmx dot net
                   ` (9 preceding siblings ...)
  2009-06-06 22:22 ` joseph at codesourcery dot com
@ 2009-06-07 13:26 ` hjl dot tools at gmail dot com
  2009-06-07 13:35 ` hjl at gcc dot gnu dot org
                   ` (8 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: hjl dot tools at gmail dot com @ 2009-06-07 13:26 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #11 from hjl dot tools at gmail dot com  2009-06-07 13:26 -------
It is caused by revision 147980:

http://gcc.gnu.org/ml/gcc-cvs/2009-05/msg00959.html


-- 

hjl dot tools at gmail dot com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |mjambor at suse dot cz


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


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

* [Bug middle-end/32950] [4.5 regression] ICE with __complex__ double
  2007-07-31 17:56 [Bug c++/32950] New: -O1 and -O2 options cause internal compiler error Max dot Moorkamp at gmx dot net
                   ` (10 preceding siblings ...)
  2009-06-07 13:26 ` hjl dot tools at gmail dot com
@ 2009-06-07 13:35 ` hjl at gcc dot gnu dot org
  2009-06-07 13:39 ` hjl at gcc dot gnu dot org
                   ` (7 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: hjl at gcc dot gnu dot org @ 2009-06-07 13:35 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #12 from hjl at gcc dot gnu dot org  2009-06-07 13:35 -------
Subject: Bug 32950

Author: hjl
Date: Sun Jun  7 13:35:05 2009
New Revision: 148244

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=148244
Log:
2009-06-07  H.J. Lu  <hongjiu.lu@intel.com>

        PR middle-end/32950
        * g++.dg/torture/pr32950.C: New.

Added:
    trunk/gcc/testsuite/g++.dg/torture/pr32950.C
Modified:
    trunk/gcc/testsuite/ChangeLog


-- 


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


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

* [Bug middle-end/32950] [4.5 regression] ICE with __complex__ double
  2007-07-31 17:56 [Bug c++/32950] New: -O1 and -O2 options cause internal compiler error Max dot Moorkamp at gmx dot net
                   ` (11 preceding siblings ...)
  2009-06-07 13:35 ` hjl at gcc dot gnu dot org
@ 2009-06-07 13:39 ` hjl at gcc dot gnu dot org
  2009-06-07 13:40 ` hjl at gcc dot gnu dot org
                   ` (6 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: hjl at gcc dot gnu dot org @ 2009-06-07 13:39 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #13 from hjl at gcc dot gnu dot org  2009-06-07 13:38 -------
Subject: Bug 32950

Author: hjl
Date: Sun Jun  7 13:38:38 2009
New Revision: 148245

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=148245
Log:
2009-06-07  H.J. Lu  <hongjiu.lu@intel.com>

        Backport from mainline:
        2009-06-07  H.J. Lu  <hongjiu.lu@intel.com>

        PR middle-end/32950
        * g++.dg/torture/pr32950.C: New.

Added:
    branches/gcc-4_4-branch/gcc/testsuite/g++.dg/torture/pr32950.C
      - copied unchanged from r148244,
trunk/gcc/testsuite/g++.dg/torture/pr32950.C
Modified:
    branches/gcc-4_4-branch/gcc/testsuite/ChangeLog


-- 


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


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

* [Bug middle-end/32950] [4.5 regression] ICE with __complex__ double
  2007-07-31 17:56 [Bug c++/32950] New: -O1 and -O2 options cause internal compiler error Max dot Moorkamp at gmx dot net
                   ` (12 preceding siblings ...)
  2009-06-07 13:39 ` hjl at gcc dot gnu dot org
@ 2009-06-07 13:40 ` hjl at gcc dot gnu dot org
  2009-06-07 14:42 ` jamborm at gcc dot gnu dot org
                   ` (5 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: hjl at gcc dot gnu dot org @ 2009-06-07 13:40 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #14 from hjl at gcc dot gnu dot org  2009-06-07 13:40 -------
Subject: Bug 32950

Author: hjl
Date: Sun Jun  7 13:39:54 2009
New Revision: 148246

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=148246
Log:
2009-06-07  H.J. Lu  <hongjiu.lu@intel.com>

        Backport from mainline:
        2009-06-07  H.J. Lu  <hongjiu.lu@intel.com>

        PR middle-end/32950
        * g++.dg/torture/pr32950.C: New.

Added:
    branches/gcc-4_3-branch/gcc/testsuite/g++.dg/torture/pr32950.C
      - copied unchanged from r148245,
trunk/gcc/testsuite/g++.dg/torture/pr32950.C
Modified:
    branches/gcc-4_3-branch/gcc/testsuite/ChangeLog


-- 


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


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

* [Bug middle-end/32950] [4.5 regression] ICE with __complex__ double
  2007-07-31 17:56 [Bug c++/32950] New: -O1 and -O2 options cause internal compiler error Max dot Moorkamp at gmx dot net
                   ` (13 preceding siblings ...)
  2009-06-07 13:40 ` hjl at gcc dot gnu dot org
@ 2009-06-07 14:42 ` jamborm at gcc dot gnu dot org
  2009-06-07 15:55 ` pinskia at gcc dot gnu dot org
                   ` (4 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: jamborm at gcc dot gnu dot org @ 2009-06-07 14:42 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #15 from jamborm at gcc dot gnu dot org  2009-06-07 14:41 -------
(In reply to comment #11)
> It is caused by revision 147980:
> 
> http://gcc.gnu.org/ml/gcc-cvs/2009-05/msg00959.html
> 

Revision 147978 also does not work if you compile the testcase with
the -fno-tree-sra switch.

New SRA uncovers this problem because it sees the structure containing
only a  single field  always accessed  as a structure  and never  as a
scalar and so  does not scalarize it.  Something  goes wrong later on,
probably when  expanding to RTL.  Unfortunately, I  cannot help fixing
that.


-- 


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


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

* [Bug middle-end/32950] [4.5 regression] ICE with __complex__ double
  2007-07-31 17:56 [Bug c++/32950] New: -O1 and -O2 options cause internal compiler error Max dot Moorkamp at gmx dot net
                   ` (14 preceding siblings ...)
  2009-06-07 14:42 ` jamborm at gcc dot gnu dot org
@ 2009-06-07 15:55 ` pinskia at gcc dot gnu dot org
  2009-06-08 17:49 ` jamborm at gcc dot gnu dot org
                   ` (3 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2009-06-07 15:55 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #16 from pinskia at gcc dot gnu dot org  2009-06-07 15:55 -------
Wait, (In reply to comment #15)
> (In reply to comment #11)
> > It is caused by revision 147980:
> > 
> > http://gcc.gnu.org/ml/gcc-cvs/2009-05/msg00959.html
> > 
> 
> Revision 147978 also does not work if you compile the testcase with
> the -fno-tree-sra switch.
> 
> New SRA uncovers this problem because it sees the structure containing
> only a  single field  always accessed  as a structure  and never  as a
> scalar and so  does not scalarize it.  Something  goes wrong later on,
> probably when  expanding to RTL.  Unfortunately, I  cannot help fixing
> that.

I think that should always scalarize as it is a single field as it is always
better to scalarize single field structs (except maybe bitfield ones).

-- Pinski


-- 


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


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

* [Bug middle-end/32950] [4.5 regression] ICE with __complex__ double
  2007-07-31 17:56 [Bug c++/32950] New: -O1 and -O2 options cause internal compiler error Max dot Moorkamp at gmx dot net
                   ` (15 preceding siblings ...)
  2009-06-07 15:55 ` pinskia at gcc dot gnu dot org
@ 2009-06-08 17:49 ` jamborm at gcc dot gnu dot org
  2009-06-08 17:51 ` pinskia at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: jamborm at gcc dot gnu dot org @ 2009-06-08 17:49 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #17 from jamborm at gcc dot gnu dot org  2009-06-08 17:49 -------
(In reply to comment #16)
> Wait, (In reply to comment #15)
> > (In reply to comment #11)
> > > It is caused by revision 147980:
> > > 
> > > http://gcc.gnu.org/ml/gcc-cvs/2009-05/msg00959.html
> > > 
> > 
> > Revision 147978 also does not work if you compile the testcase with
> > the -fno-tree-sra switch.
> > 
> > New SRA uncovers this problem because it sees the structure containing
> > only a  single field  always accessed  as a structure  and never  as a
> > scalar and so  does not scalarize it.  Something  goes wrong later on,
> > probably when  expanding to RTL.  Unfortunately, I  cannot help fixing
> > that.
> 
> I think that should always scalarize as it is a single field as it is always
> better to scalarize single field structs (except maybe bitfield ones).

Well, Richi seems to disagree:

http://gcc.gnu.org/ml/gcc-patches/2009-06/msg00637.html

I am not  sure myself, I believe  that there are not so  many cases in
which  this would  prove  beneficial.  When  there  are no  operations
performed on the  scalars, the only situation I can  think of would be
some extensive copy propagation.

Martin


-- 


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


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

* [Bug middle-end/32950] [4.5 regression] ICE with __complex__ double
  2007-07-31 17:56 [Bug c++/32950] New: -O1 and -O2 options cause internal compiler error Max dot Moorkamp at gmx dot net
                   ` (16 preceding siblings ...)
  2009-06-08 17:49 ` jamborm at gcc dot gnu dot org
@ 2009-06-08 17:51 ` pinskia at gcc dot gnu dot org
  2009-06-12 23:17 ` sje at cup dot hp dot com
  2009-06-17 15:41 ` sje at cup dot hp dot com
  19 siblings, 0 replies; 21+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2009-06-08 17:51 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #18 from pinskia at gcc dot gnu dot org  2009-06-08 17:50 -------
(In reply to comment #17)
> I am not  sure myself, I believe  that there are not so  many cases in
> which  this would  prove  beneficial.  When  there  are no  operations
> performed on the  scalars, the only situation I can  think of would be
> some extensive copy propagation.

Or the case where expand does something stupid which does happen one time or
another.  I think for unions it should always happen no matter what (because
unions have the mode set to BLKmode).

-- Pinski


-- 


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


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

* [Bug middle-end/32950] [4.5 regression] ICE with __complex__ double
  2007-07-31 17:56 [Bug c++/32950] New: -O1 and -O2 options cause internal compiler error Max dot Moorkamp at gmx dot net
                   ` (17 preceding siblings ...)
  2009-06-08 17:51 ` pinskia at gcc dot gnu dot org
@ 2009-06-12 23:17 ` sje at cup dot hp dot com
  2009-06-17 15:41 ` sje at cup dot hp dot com
  19 siblings, 0 replies; 21+ messages in thread
From: sje at cup dot hp dot com @ 2009-06-12 23:17 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #19 from sje at cup dot hp dot com  2009-06-12 23:17 -------
See http://gcc.gnu.org/ml/gcc-patches/2009-06/msg01023.html for a possible
patch and for a question about two different approaches.


-- 

sje at cup dot hp dot com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |sje at cup dot hp dot com


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


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

* [Bug middle-end/32950] [4.5 regression] ICE with __complex__ double
  2007-07-31 17:56 [Bug c++/32950] New: -O1 and -O2 options cause internal compiler error Max dot Moorkamp at gmx dot net
                   ` (18 preceding siblings ...)
  2009-06-12 23:17 ` sje at cup dot hp dot com
@ 2009-06-17 15:41 ` sje at cup dot hp dot com
  19 siblings, 0 replies; 21+ messages in thread
From: sje at cup dot hp dot com @ 2009-06-17 15:41 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #20 from sje at cup dot hp dot com  2009-06-17 15:41 -------
I forgot to put the defect number in the ChangeLog entry but this is fixed with
r148614, a patch to expr.c.  


-- 

sje at cup dot hp dot com changed:

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


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


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

end of thread, other threads:[~2009-06-17 15:41 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-07-31 17:56 [Bug c++/32950] New: -O1 and -O2 options cause internal compiler error Max dot Moorkamp at gmx dot net
2007-07-31 17:57 ` [Bug c++/32950] " Max dot Moorkamp at gmx dot net
2007-07-31 18:06 ` [Bug middle-end/32950] " pinskia at gcc dot gnu dot org
2007-12-27 20:06 ` [Bug middle-end/32950] [4.1/4.2 regression] ICE with __complex__ double reichelt at gcc dot gnu dot org
2008-02-01 17:02 ` jsm28 at gcc dot gnu dot org
2008-05-19 20:28 ` jsm28 at gcc dot gnu dot org
2008-07-04 22:48 ` [Bug middle-end/32950] [4.2 " jsm28 at gcc dot gnu dot org
2009-03-30 22:12 ` jsm28 at gcc dot gnu dot org
2009-06-06 20:33 ` [Bug middle-end/32950] [4.5 " reichelt at gcc dot gnu dot org
2009-06-06 22:16 ` hjl dot tools at gmail dot com
2009-06-06 22:22 ` joseph at codesourcery dot com
2009-06-07 13:26 ` hjl dot tools at gmail dot com
2009-06-07 13:35 ` hjl at gcc dot gnu dot org
2009-06-07 13:39 ` hjl at gcc dot gnu dot org
2009-06-07 13:40 ` hjl at gcc dot gnu dot org
2009-06-07 14:42 ` jamborm at gcc dot gnu dot org
2009-06-07 15:55 ` pinskia at gcc dot gnu dot org
2009-06-08 17:49 ` jamborm at gcc dot gnu dot org
2009-06-08 17:51 ` pinskia at gcc dot gnu dot org
2009-06-12 23:17 ` sje at cup dot hp dot com
2009-06-17 15:41 ` sje at cup dot hp dot com

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).