------- Comment #1 from reichelt at gcc dot gnu dot org  2006-03-29 15:44 
-------
Confirmed.
Reduced testcase (compile with "g++ -fopenmp"):

=======================================
struct A
{
  ~A() throw();
};

void foo(A);

A bar() throw();

void baz()
{
#pragma omp parallel
    { A a; foo(bar()); }
}
=======================================

PR26913.cc: In function 'void _Z3bazv.omp_fn.0(void*)':
PR26913.cc:12: internal compiler error: Segmentation fault
Please submit a full bug report, [etc.]

Although this is a plain segfault in contrast to PR26823, I think the
two are related, since both have to do with exception handling:
If you get gid of "throw()" in the testcase above, the code compiles fine.
And the ICE in PR26823 happens in add_stmt_to_eh_region_fn.

While reducing to testcase above, I also came across error messages like
in PR26084/PR26076 (vector VEC(eh_region,base) index domain) - the
predecessors of PR26823.

Looks like we some major problem with exception handling here.


-- 

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, openmp
   Last reconfirmed|0000-00-00 00:00:00         |2006-03-29 15:44:04
               date|                            |


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

Reply via email to