tree 124c1d65e338abece7cf55c95cbc8195be94fe2f
parent 453059571c9dc84dd168631eced25ec2d7afd98e
author Rich Felker <dalias@aerifal.cx> 1346988850 -0400
committer Rich Felker <dalias@aerifal.cx> 1346988850 -0400

further use of _Noreturn, for non-plain-C functions

note that POSIX does not specify these functions as _Noreturn, because
POSIX is aligned with C99, not the new C11 standard. when POSIX is
eventually updated to C11, it will almost surely give these functions
the _Noreturn attribute. for now, the actual _Noreturn keyword is not
used anyway when compiling with a c99 compiler, which is what POSIX
requires; the GCC __attribute__ is used instead if it's available,
however.

in a few places, I've added infinite for loops at the end of _Noreturn
functions to silence compiler warnings. presumably
__buildin_unreachable could achieve the same thing, but it would only
work on newer GCCs and would not be portable. the loops should have
near-zero code size cost anyway.

like the previous _Noreturn commit, this one is based on patches
contributed by philomath.
