Segmentation fault building libg++ without named returns

John David Anglin dave@hiauly1.hia.nrc.ca
Sat Sep 9 15:06:00 GMT 2000


> Thanks for the patch you sent with your previous email; I observed the
> same failures when Mark installed his patch to  warn about using named
> return values.  I took a differend approach  than you, i.e. instead of
> removing  the code completely, I used  the opposite logic  with a flag
> _G_USE_NRV  as  opposed to the  former   _G_NO_NRV; I've attached that
> patch to this email.

I tend to think the code should be removed.  There were essentially two
sets with the "same" code.  However, the unused branch which didn't use
named returns had rotted a bit.  Apparently, `and', `or' and `xor' are
c++ diagraphs and can't be used.

> Regarding the missing   weak symbols,  I'm pretty   much  at a   loss;
> building Fix.cc and  Rational.cc  doesn't generate all  required  weak
> symbols as  it  did  before; even worse,   using  a reduced test  case
> doesn't fail to  generate those symbols...  I'll dig  further and keep
> you informed.

I don't have any time this weekend to work on it but I think a first
step would be to dump the assembly code for Fix.cc and see what is
happening with respect to the week definitions.  Then, looking at the
rtl may help to pinpoint where things are going wrong.  It's a fairly
recent change to the compiler that has caused the problem.

Dave
-- 
J. David Anglin                                  dave.anglin@nrc.ca
National Research Council of Canada              (613) 990-0752 (FAX: 952-6605)


More information about the Gcc-bugs mailing list