CDRIVER-5889: Fix BSON_NORETURN for C23 standard #1859
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The new BSON_NORETURN macro has implementations for C11, C23, GCC, and a fallback. The C23 version was untested in CI, and led to CDRIVER-5889 when the about-to-be-released GCC 15 switched to the C23 standard as default.
Failures are also observed in normal libmongoc build with a new enough gcc and -DCMAKE_C_STANDARD=23
With this patch, all branches of the BSON_NORETURN definition are working.
Tested on 1.30.0 with a fresh gcc build from master, change 4abac2ffdb071ca9337e4f31fa79cd38df1ac7c3.
Needs to be cherry-picked for 1.x