Older versions of this document recommended to use void return value in such cases. It was discovered that this could lead to segfaults in cases when XSUB was truly void. This practice is now deprecated, and may be not supported at some future version. Use the return value SV * in such cases. (Currently xsubpp contains some heuristic code which tries to disambiguate between ``truly-void'' and ``old-practice-declared-as-void'' functions. Hence your code is at mercy of this heuristics unless you use SV * as return value.)