G++ uses C++ abstract class for nsISupports, so its methods calling convention is C++ as implemented by g++: http://gcc.gnu.org/onlinedocs/gcc-3.4.6/gcc/Compatibility.html