This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: c++/4351







The compiler core dumps in sjlj_emit_dispatch_table(gcc/except.c:2310)
when it is trying to access cfun->eh->region_array[0], which should
always be a NULL pointer. The function being compiled " void
PortableServer::POA::AdapterAlreadyExists::_raise() {throw  *this;} "
has only one exception handling region, and it is marked as
"ERT_MUST_NOT_THROW".  It doesn't have any directly reachable region.
I made the following change, and the testcase compiled ok. Is it a valid
change? Thanks.
2310,2311c2310,2311
<   if (first_reachable)
<      emit_insns_before (seq, (cfun->eh->region_array[first_reachable]
---
>
>   emit_insns_before (seq, (cfun->eh->region_array[first_reachable]
2313,2314d2312
<   else
<      emit_insns(seq);


http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view&pr=4351&database=gcc

--
Jessica Han
Open Source Tools, Hewlett-Packard
jessica@cup.hp.com
(408) 447-6154



--------------005228B633970643515FFA46
Content-Type: text/html; charset=gb2312
Content-Transfer-Encoding: 7bit

<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
The compiler core dumps in sjlj_emit_dispatch_table(gcc/except.c:2310)
<br>when it is trying to access cfun->eh->region_array[0], which should
always be a NULL pointer. The function being compiled&nbsp;" void
PortableServer::POA::AdapterAlreadyExists::_raise()
{throw&nbsp; *this;} " has only one exception handling region, and it is
marked as "ERT_MUST_NOT_THROW".&nbsp; It doesn't have any directly reachable
region.
<br>I made the following change, and the testcase compiled ok. Is it a
valid change?&nbsp;Thanks.
<br>2310,2311c2310,2311
<br>&lt;&nbsp;&nbsp; if (first_reachable)
<br>&lt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; emit_insns_before (seq,
(cfun->eh->region_array[first_reachable]
<br>---
<br>>
<br>>&nbsp;&nbsp; emit_insns_before (seq,
(cfun->eh->region_array[first_reachable]
<br>2313,2314d2312
<br>&lt;&nbsp;&nbsp; else
<br>&lt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; emit_insns(seq);
<br>&nbsp;
<p><A
HREF="http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view&pr=4351&amp;amp;databa
se=gcc">http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view&amp;pr=4351&amp;amp;
database=gcc</A>
<pre>--&nbsp;
Jessica Han
Open Source Tools, Hewlett-Packard
jessica@cup.hp.com
(408) 447-6154</pre>
&nbsp;</html>

--------------005228B633970643515FFA46--



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]