https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98101

scott snyder <s...@li-snyder.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |s...@li-snyder.org

--- Comment #3 from scott snyder <s...@li-snyder.org> ---
Here's another example that crashes in the same place, but which doesn't use
-fvtable-verify.  This example does use vectorization, and the ICE occurs only
with -O3.  Seen with gcc  11.0.0 20201128.

-- x.cc ------------------------------------------------------------------
typedef double Packet2d __attribute__ ((__vector_size__ (16)));
Packet2d psub();

struct Translation
{
  double m_coeffs[2];
  Translation(double sx, double sy )
  {
    m_coeffs[0] = sx;
    m_coeffs[1] = sy;
  }
};

struct GeoTransform
{
  GeoTransform(const Translation& transform);
};

struct GeoIdentifierTag
{
  GeoIdentifierTag();
};

struct CryostatConstructionTBEC 
{
  virtual ~CryostatConstructionTBEC();
};


GeoTransform* createEnvelope()
{
  CryostatConstructionTBEC cryoConstruction;

  double pos[2];
  *(Packet2d*)pos = psub();

  new GeoIdentifierTag;
  return new GeoTransform( Translation(pos[0], pos[1])  );
}
---------------------------------------------------------------------------

$ g++ -c -O3 x.cc
during GIMPLE pass: ehcleanup
x.cc: In function ‘GeoTransform* createEnvelope()’:
x.cc:30:15: internal compiler error: in mark_reachable_handlers, at
tree-eh.c:4033
   30 | GeoTransform* createEnvelope()
      |               ^~~~~~~~~~~~~~
0x633a75 mark_reachable_handlers
        /home/sss/gcc/gcc/gcc/tree-eh.c:4033
0xcda146 remove_unreachable_handlers
        /home/sss/gcc/gcc/gcc/tree-eh.c:4080
0xcddfd1 execute_cleanup_eh_1
        /home/sss/gcc/gcc/gcc/tree-eh.c:4783
0xcddfd1 execute
        /home/sss/gcc/gcc/gcc/tree-eh.c:4850
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.

Reply via email to