This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/32177] g++ crashes on some valid OpenMP code
- From: "rguenth at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 1 Jun 2007 11:28:03 -0000
- Subject: [Bug c++/32177] g++ crashes on some valid OpenMP code
- References: <bug-32177-1884@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #2 from rguenth at gcc dot gnu dot org 2007-06-01 11:28 -------
We have a
<with_cleanup_expr 0x2aadb4071380
type <void_type 0x2aadb3ecf240 void VOID
align 8 symtab 0 alias set -1 canonical type 0x2aadb3ecf240
pointer_to_this <pointer_type 0x2aadb3ecf300>>
side-effects
arg 0 <call_expr 0x2aadb3eb0a50 type <void_type 0x2aadb3ecf240 void>
side-effects nothrow
fn <addr_expr 0x2aadb4071140 type <pointer_type 0x2aadb406a900>
constant invariant arg 0 <function_decl 0x2aadb4069000 __comp_dtor
>>
arg 0 <addr_expr 0x2aadb4071100 type <pointer_type 0x2aadb4061780>
invariant arg 0 <var_decl 0x2aadb406f160 D.2557>>
t.ii:8>>
that we don't handle in lower_stmt (). The complete fn looks like
{
try
{
__comp_ctor (&D.2557);
<<< Unknown tree: with_cleanup_expr
__comp_dtor (&D.2557) >>>
;
D.2559 = s (&D.2557);
D.2565 = D.2559;
#pragma omp for nowait
for (i = 1; i <= D.2565; i = i + 1)
OMP_CONTINUE
}
catch
{
<<<eh_filter ()>>>
{
terminate ();
}
}
OMP_RETURN [nowait]
}
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32177