llvm-project
c1fd7d7a - [APINotes][BoundsSafety] Upstream API notes format for bounds-safety function parameters

Commit
19 days ago
[APINotes][BoundsSafety] Upstream API notes format for bounds-safety function parameters Related: #183340 Upstream from swiftlang/llvm-project@721e6a3 with some modifications. Since __counted_by and related attributes aren't supported upstream yet in function signatures, this only upstreams the format part — YAML parsing, binary serialization, and deserialization. Semantic application is a follow-up. Modifications from downstream: - Renamed local YAML struct from `BoundsSafety` to `BoundsSafetyNotes` to avoid name collision with `Param::BoundsSafety` field (downstream fixed this in a subsequent commit) - `Level` in `BoundsSafetyNotes` is now `std::optional<unsigned>` so we can actually tell apart "user didn't write Level:" from "Level: 0" - `asdf_sized` and `asdf_sized_n` use `void *buf` — makes more sense for sized_by - Added `asdf_counted_indirect` with `int **` and `Level: 1` to test the indirection level path - Removed a vacuous assert (`CountedBy == 0`, always true for unsigned) - Added `operator!=` for `BoundsSafetyInfo` to match other types in `Types.h` - Added doc comments for `LevelAudited` and `Level`
Author
Parents
Loading