code wiki / (root) / nx_body_pointer_abi_gate_t345.nx

nx_body_pointer_abi_gate_t345.nx source

↩ module page · 2 lines · 411 B

1import "nx_gate_verdict.nx" 2func main()->i64{let c:*i64=gv_ctr();gv_head("BODY-POINTER-ABI");let a:*i64=sys_mmap(24) as *i64;let p:*i64=a+1;let q:*i64=((a as i64)+8) as *i64;a[0]=11;a[1]=22;gv_check("pointer addition is byte-address arithmetic",(p as i64)-(a as i64)==1,c);gv_check("explicit i64 word offset reads second word",q[0]==22,c);return gv_verdict("BODY-POINTER-ABI",c,"native pointer contract only")}