Closes#230870. Thanks to @eliasnaur for the test case and for rasining
awareness and to @veprbl for the work done on #111385.
This takes a slightly different approach from those two PRs. The hook is
set unconditionally. The stdenv bootstrap doesn’t really need CF at all,
so setting the hook is harmless. This simplifies things.
Using a function in an if condition when set -e is set doesn't seem to
break out or return false which means the workaround from 41ca86129f
never gets triggered.
Based on testing this issue seems to only occur with clang_7, so
we should be able to revert this when the default llvm versions are
updated.
Fixes#66811
This also updates the bootstrap tool builder to LLVM 5, but not the ones
we actually use for bootstrap. I'll make that change in a subsequent commit
so as to provide traceable provenance of the bootstrap tools.