ATTRIBUTE_NORETURN on sets_cc0_p
Jeffrey A Law
law@cygnus.com
Fri Oct 16 01:11:00 GMT 1998
In message < 199810150408.AAA26944@caip.rutgers.edu >you write:
> Right. HAVE_cc0 is defined in insn-config.h which appears after
> rtl.h in jump.c. We have to move insn-config.h above rtl.h, but in
> *every* file, not just jump.c. The harmful scenario is other files
> which incorrectly assume sets_cc0_p() doesn't return, (and don't even
> complain about it.)
Ugh. Note this includes backends, possibly the insn*.c files, and possibly
even front-ends since many want to include rtl.h (including front-ends we
don't control yet like ada, pascal, & modula).
Another thought would be to include insn-config via rtl.h. We've tried to
avoid too much of this in the gcc sources though.
I'm not sure which is the cleaner solution.
I'm very tempted to punt it for now since marking sets_cc0_p as noreturn is
strictly an optimization.
jeff
More information about the Gcc
mailing list