Skip to content

Commit

Permalink
[docs] Fix self-contradictory description of llvm_unreachable
Browse files Browse the repository at this point in the history
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
  • Loading branch information
jkorous-apple committed Jun 4, 2020
1 parent 42f6fec commit 5f5d972
Show file tree
Hide file tree
Showing 2 changed files with 2 additions and 3 deletions.
3 changes: 1 addition & 2 deletions llvm/docs/CodingStandards.rst
Expand Up @@ -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
``assert(false)``).

Neither assertions or ``llvm_unreachable`` will abort the program on a release
build. If the error condition can be triggered by user input then the
If the error condition can be triggered by user input then the
recoverable error mechanism described in :doc:`ProgrammersManual` should be
used instead. In cases where this is not practical, ``report_fatal_error`` may
be used.
Expand Down
2 changes: 1 addition & 1 deletion llvm/include/llvm/Support/ErrorHandling.h
Expand Up @@ -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, becomes an optimizer hint that the current location
/// 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
/// allows compilers to omit some unnecessary code.
Expand Down

0 comments on commit 5f5d972

Please sign in to comment.