mirror of
https://github.com/intel/llvm.git
synced 2026-01-23 07:58:23 +08:00
[libc] Add a note about using assertions in the libc runtime code.
Reviewed By: lntue Differential Revision: https://reviews.llvm.org/D145466
This commit is contained in:
@@ -102,3 +102,15 @@ followed:
|
||||
entrypoint is the only exceptional entrypoint on which other entrypoints
|
||||
should explicitly depend on if they set ``errno`` to indicate error
|
||||
conditions.
|
||||
|
||||
Assertions in libc runtime code
|
||||
===============================
|
||||
|
||||
The libc developers should, and are encouraged to, use assertions freely in
|
||||
the libc runtime code. However, the assertion should be listed via the macro
|
||||
``LIBC_ASSERT`` defined in ``src/__support/libc_assert.h``. This macro can be
|
||||
used from anywhere in the libc runtime code. Internally, all it does is to
|
||||
print the assertion expression and exit. It does not implement the semantics
|
||||
of the standard ``assert`` macro. Hence, it can be used from any where in the
|
||||
libc runtime code without causing any recursive calls or chicken-and-egg
|
||||
situations.
|
||||
|
||||
Reference in New Issue
Block a user