[ClangImporter] Look through __ended_by and __null_terminated (#81630) #82003
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.
Explanation:
Previously we would not import decls containing
__null_terminated
or__ended_by
. This was not an issue, because they can only occur when -fbounds-safety or -fexperimental-bounds-safety-attributes is passed to clang. When SafeInteropWrappers is enabled we pass-fexperimental-bound-safety-attributes to clang however, so these types can now occur without the user specifying any -Xcc flags.
Scope:
Variables and functions previously marked unavailable may now be available.
Issues:
rdar://151611718
Original PRs:
[ClangImporter] Look through __ended_by and __null_terminated #81630
Risk:
Low, this just strips pointer type sugar
Testing:
Added lots of (positive and negative) test cases of importing declarations with bounds information.
Reviewers:
@egorzhdan