[clang] [BoundsSafety][APINotes] Upstream API notes format for bounds-safety function parameters (PR #185257)

Henrik G. Olsson via cfe-commits cfe-commits at lists.llvm.org
Sun Mar 8 09:36:03 PDT 2026


================
@@ -1074,14 +1074,43 @@ void APINotesWriter::Implementation::writeGlobalVariableBlock(
 }
 
 namespace {
+void emitBoundsSafetyInfo(raw_ostream &OS, const BoundsSafetyInfo &BSI) {
+  llvm::support::endian::Writer writer(OS, llvm::endianness::little);
+  uint8_t flags = 0;
+  if (auto kind = BSI.getKind()) {
+    flags |= 0x01;                // 1 bit
+    flags |= (uint8_t)*kind << 1; // 3 bits
----------------
hnrklssn wrote:

@compnerd are you thinking about whether we'll running out enum values that fit in the 3 bits, or that this may return a value using more than 3 bits?

https://github.com/llvm/llvm-project/pull/185257


More information about the cfe-commits mailing list