Bug in tidy_fallthru_edges ?
Ulrich Weigand
Ulrich.Weigand@de.ibm.com
Mon Jan 14 08:07:00 GMT 2002
Hello,
the following routine from glibc gets miscompiled on S/390:
int __swapcontext (ucontext_t *oucp, ucontext_t *ucp)
{
__getcontext (oucp);
oucp->uc_mcontext.gregs[14] = &&fake_return;
__setcontext (ucp);
fake_return:
return 0;
}
What happens is that 'tidy_fallthru_edges' simply removes the
'fake_return' label, because it apparently considers the 'return 0'
statement only reachable via fall-through from the main body,
without taking into account that there is a named label,
which is actually used somewhere ...
Any ideas how to fix this?
Mit freundlichen Gruessen / Best Regards
Ulrich Weigand
--
Dr. Ulrich Weigand
Linux for S/390 Design & Development
IBM Deutschland Entwicklung GmbH, Schoenaicher Str. 220, 71032 Boeblingen
Phone: +49-7031/16-3727 --- Email: Ulrich.Weigand@de.ibm.com
More information about the Gcc
mailing list