It appears that both function call arguments and returns from functions need to be cast to the expected type in sparse-llvm. This may be because the linearizer is eliminating casts - I am not sure. >From LLVM perspective two pointers to different base types are not the same - similarly various integer types and floating types are not interchangeable. By adding casts to store operations (both op_store and op_phisrc) as well as in function call arguments the number of errors I am getting when compiling 'minilua' has reduced significantly. However still 192 errors remain (but hopefully many will go with the next fix!). Of course even with all errors being fixed it doesn't mean that the generated code is right. Only when I run the program on Lua test suite it will become apparent whether the generated code is correct or not. Regards Dibyendu -- To unsubscribe from this list: send the line "unsubscribe linux-sparse" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html