libperl-macrogen 0.1.13

Generate Rust FFI bindings from C macro functions in Perl headers
Documentation
{
   "comment": [
      "2026-08-19 の Phase 6 全範囲 baseline 採取 (podman legs) から生成。",
      "known_failures は green 化フェーズ (実装計画 Phase 9) で解消し次第",
      "削除する (解消すると XPASS 警告が出る)。bounds は実測 + headroom。",
      "実測 counts: threaded fn=1328 unresolved=33 / non-threaded fn=1267 unresolved=78",
      "2026-08-22: add_decl (apidoc data 1.4, MUTABLE_*/AvARRAY/AvFILLp/Pad* 補正)",
      "導入後の再実測で Cv 一族 6 + HvFILL を known_failures から削除 (以後 enforced)、",
      "bounds を再較正 (unresolved/suppressed = 実測x1.2, fn min = 実測x0.9)。",
      "2026-08-22 (2): token 注釈補完 (apidoc data 1.5, Xop*/Bhk* の which) で",
      "OP_CLASS が全 leg 復活 → known_failures から削除 (enforced 化)、bounds 再較正。",
      "2026-08-22 (3): 隣接文字列リテラル連結のパーサ拡張 (STR_WITH_LEN の",
      "(\"\" s \"\") 対応) で newSVpvs 一族が全 leg 復活 → known_failures から削除、",
      "bounds 再較正。",
      "2026-08-22 (5): 下流実走再評価に基づく v5.20/v5.22.patches.json 新設",
      "(Perl_atof / 旧ハッシュ inline 群 / 残渣クラスの理由付き skip) と",
      "Padname* の * 抜け override (common, apidoc data 1.12) を反映して bounds 再較正。",
      "5.20/5.22 の下流 libperl-sys ビルドは green (Phase 9 の当初要件完了)。",
      "実測 counts (2026-08-22 (5)): threaded fn=1436 unresolved=44 / non-threaded fn=1382 unresolved=87",
      "2026-08-29: 0.1.12 ラウンド (apidoc data 1.15) で Padname*REFCNT{,_dec} の",
      "remove 4 件を追加 (5.20 に API 不在で common override が MISS ノイズ化 —",
      "issue #17 と同型)。counts への影響は無し。"
   ],
   "must_not_generate": [
      "Perl_CvDEPTH",
      "Perl_cx_topblock",
      "Perl_SvREFCNT_dec"
   ],
   "must_not_generate_comment": [
      "Perl_CvDEPTH: embed.fnc への登場は 5.32 から。5.20〜5.30 の CvDEPTH は S_CvDEPTHp 経由のマクロのみ (そちらは生成 PASS)",
      "Perl_cx_topblock: この名前 (perl_prefix) は 5.32 から。 5.24〜5.30 は S_cx_topblock inline + PERL_CORE ガードの cx_topblock マクロ、5.20/5.22 には機能自体が無い",
      "Perl_SvREFCNT_dec: この名前は 5.32 の inline 関数改名 (S_SvREFCNT_dec → Perl_SvREFCNT_dec) から。<=5.30 に存在するのは S_SvREFCNT_dec (inline) と SvREFCNT_dec (マクロ)"
   ],
   "non-threaded": {
      "bounds": {
         "codegen_suppressed_max": 32,
         "generated_fn_min": 1243,
         "unresolved_names_max": 105
      }
   },
   "threaded": {
      "bounds": {
         "codegen_suppressed_max": 32,
         "generated_fn_min": 1292,
         "unresolved_names_max": 53
      },
      "known_failures": {
         "assertions": [
            "thx"
         ]
      }
   }
}