variant=release runtime-debugging=on does not enable assertions as stated in documentation
- Dominant language
- C++
- Stars
- 251
- Forks
- 63
- PR merge metrics
- No merged PRs in 30d
Description
The `runtime-debugging` says:
> Specifies whether produced object files, executables, and libraries should
include behavior useful only for debugging, **such as asserts**. Typically, the
value of this feature is implicitly set by the `variant` feature, but it can be
explicitly specified by the user. **The most common usage is to build release
variant with debugging output**.
https://github.com/boostorg/build/blob/7d9866256d1ce46abaf8355bb618cdebab9cfe62/src/tools/features/runtime-feature.jam#L13-L17
And I believed it because the `variant=release` documentation does not list `NDEBUG`
https://github.com/boostorg/build/blob/7d9866256d1ce46abaf8355bb618cdebab9cfe62/src/tools/features/variant-feature.jam#L24-L27
while in reality it expands to
https://github.com/boostorg/build/blob/7d9866256d1ce46abaf8355bb618cdebab9cfe62/src/tools/builtin.jam#L50-L51
Contributor guide
Research direction
Compare the documented behavior in src/tools/features/runtime-feature.jam and src/tools/features/variant-feature.jam with the NDEBUG mapping in src/tools/builtin.jam. Start by tracing how variant=release and runtime-debugging=on expand, then verify that the documentation and actual assertion behavior agree.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- build-system, tooling
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100