[docs] Fix self-contradictory description of llvm_unreachable

Just two paragraphs above it says:
"If the compiler does not support this [skipping code generation for a particular branch], it will fall back
to the "abort" implementation."

And that actually correctly describes llvm_unreachable implementation.

Differential Revision: https://reviews.llvm.org/D81130
This commit is contained in:
Jan Korous 2020-06-03 20:04:48 -07:00
parent 42f6fec387
commit 5f5d972d83
2 changed files with 2 additions and 3 deletions

View File

@ -1200,8 +1200,7 @@ unconditionally a bug (not originating from user input; see below) of some kind.
Use of ``assert`` should always include a testable predicate (as opposed to Use of ``assert`` should always include a testable predicate (as opposed to
``assert(false)``). ``assert(false)``).
Neither assertions or ``llvm_unreachable`` will abort the program on a release If the error condition can be triggered by user input then the
build. If the error condition can be triggered by user input then the
recoverable error mechanism described in :doc:`ProgrammersManual` should be recoverable error mechanism described in :doc:`ProgrammersManual` should be
used instead. In cases where this is not practical, ``report_fatal_error`` may used instead. In cases where this is not practical, ``report_fatal_error`` may
be used. be used.

View File

@ -127,7 +127,7 @@ llvm_unreachable_internal(const char *msg = nullptr, const char *file = nullptr,
/// In !NDEBUG builds, prints the message and location info to stderr. /// In !NDEBUG builds, prints the message and location info to stderr.
/// In NDEBUG builds, becomes an optimizer hint that the current location /// In NDEBUG builds, becomes an optimizer hint that the current location
/// is not supposed to be reachable. On compilers that don't support /// is not supposed to be reachable. On compilers that don't support
/// such hints, prints a reduced message instead. /// such hints, prints a reduced message instead and aborts the program.
/// ///
/// Use this instead of assert(0). It conveys intent more clearly and /// Use this instead of assert(0). It conveys intent more clearly and
/// allows compilers to omit some unnecessary code. /// allows compilers to omit some unnecessary code.