This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/26913] ICE with -fopenmp and -O2
- From: "reichelt at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 29 Mar 2006 15:44:04 -0000
- Subject: [Bug c++/26913] ICE with -fopenmp and -O2
- References: <bug-26913-12211@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- 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