102/102 regression tests pass (+ffi-objc-call-04-primitive-returns with xfail snapshot capturing today's diagnostic). Pinned scenario: `[NSObject class]` — `#objc_call(*void)(null, "class")`. Should return a non-null Class pointer once the lowering supports non-void returns. Today the Phase 1.3 restriction trips with: #objc_call: only `void` return + (recv, selector) is lowered today; non-void / arg-bearing arities land in later phase-1 steps The next commit (1.6b) introduces an `objc_msg_send` IR opcode that bundles (recv, sel, args, ret_ty) and emit_llvm builds a per-call- site LLVM function type, sharing one declared `@objc_msgSend` symbol across return-type variants. Five primitive returns (*void / bool / s32 / s64 / f64) get folded in across 1.6b–c.
2 lines
2 B
Plaintext
2 lines
2 B
Plaintext
1
|