Bug 31606 - [4.3 Regression] ICE in try_instantiate_multiple_fields, at tree-sra.c:1601
Summary: [4.3 Regression] ICE in try_instantiate_multiple_fields, at tree-sra.c:1601
Status: RESOLVED FIXED
Alias: None
Product: gcc
Classification: Unclassified
Component: tree-optimization (show other bugs)
Version: 4.3.0
: P3 blocker
Target Milestone: 4.3.0
Assignee: Andrew Pinski
URL:
Keywords: ice-on-valid-code
Depends on:
Blocks:
 
Reported: 2007-04-17 16:14 UTC by Ed Smith-Rowland
Modified: 2007-05-23 00:05 UTC (History)
5 users (show)

See Also:
Host: i686-pc-linux-gnu
Target: i686-pc-linux-gnu
Build: i686-pc-linux-gnu
Known to work:
Known to fail:
Last reconfirmed: 2007-04-18 00:09:54


Attachments
Preprocessed output from the source causing the ICE. (149.13 KB, application/octet-stream)
2007-04-17 16:17 UTC, Ed Smith-Rowland
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Ed Smith-Rowland 2007-04-17 16:14:53 UTC
/home/ed/bin-4.3/bin/g++ -O2 -ffast-math -funroll-loops  -fPIC -c -D__HAVE_OPEN_INVENTOR__ -U__HAVE_XML__ -U__HAVE_SQLITE__ -U__HAVE_MYSQL__ -U__HAVE_PGSQL__ -U__HAVE_ORACLE__ -D__STL_EXTENSION_TR1__  -W -Wall -o obj/collision.o ./collision.cpp
./collision.cpp: In member function ‘void Simplex3D::get_collisions(const Edge&, std::vector<Collision, std::allocator<Collision> >&) const’:
./collision.cpp:203: internal compiler error: in try_instantiate_multiple_fields, at tree-sra.c:1601
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.
make: *** [obj/collision.o] Error 1
Comment 1 Ed Smith-Rowland 2007-04-17 16:17:34 UTC
Created attachment 13380 [details]
Preprocessed output from the source causing the ICE.

The initial bug creation doesn't seem to allow attachments. :)
Comment 2 Andrew Pinski 2007-04-17 16:19:56 UTC
> The initial bug creation doesn't seem to allow attachments. :)

Which is fixed in bugzilla 3.0 which we will be updating in the near future.
Comment 3 Andrew Pinski 2007-04-18 00:09:41 UTC
Reduced testcase:
class Collision {
   int edge;
   int triangle;
  float _M_instance[3] __attribute__((__aligned__));
};
void  get_collisions(Collision a) {
  Collision b = a;
}
Comment 4 Andrew Pinski 2007-04-18 00:42:08 UTC
We try to get a type for size of 128bits which is TImode.  And on x86, TImode is not supported.
Comment 5 Andrew Pinski 2007-05-22 23:58:12 UTC
Fixed by:
2007-04-30  Alexandre Oliva  <aoliva@redhat.com>

        PR middle-end/22156
        Temporarily revert:


I will apply a testcase.
Comment 6 Andrew Pinski 2007-05-23 00:05:51 UTC
Fixed.
Comment 7 Andrew Pinski 2007-05-23 00:05:56 UTC
Subject: Bug 31606

Author: pinskia
Date: Tue May 22 23:05:40 2007
New Revision: 124968

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=124968
Log:
2007-05-22  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR middle-end/31606
        * gcc.c-torture/20070522-1.c: New testcase.



Added:
    trunk/gcc/testsuite/gcc.c-torture/20070522-1.c
Modified:
    trunk/gcc/testsuite/ChangeLog