[NFC-ish] Correct nullability of free() redeclaration #35399
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.
LibcShims.h redeclares
free()
inside an "assume_nonnull" section, so this redeclaration's parameter is treated as_Nonnull
.With the clang currently used by the "main" branch, this mistake is harmless. With the clang in "next" and "rebranch", however, this redeclaration changes the optionality of
free(_:)
's parameter when imported into Swift, which causes source compatibility failures in both the Swift test suite and downstream projects like llbuildSwift.This PR adds a
_Nonnull
annotation to the redeclaration so that it imports as intended.Fixes rdar://71269128. Note that some tests may fail unless a clean build is performed; I'm hoping the PR test provides a little clarity about this.