in reply to Re^4: Passing undef to XSUB
in thread Passing undef to XSUB

It seems to me the "uninitialized value" warning is undef getting turned into 0

Yes, I think that's right:
use warnings; use Inline C => Config => BUILD_NOISY => 1; use Inline C => <<'EOC'; void foo(int a) {} void bar(SV * a) {} void baz(SV * a) { int i = (int)SvIV(a); } EOC $u = undef; foo($u); # warning bar($u); # no warning baz($u); # warning
Cheers,
Rob