>> a) main() is not compiled with g++: static objects get not constructed >> b) code that gets linked into shared libraries (assuming the system >> supports them) does not get its initializers invoked. >> c) compilation of main() with a C++ compiler, but then linking with ld >> results in an unresolved symbol __main. > > Thank you for the details. I'm pretty confident that (a) and (c) will > not be a problem for the Unladen Swallow merge because we switched > python.c (which holds main()) and linking to use the C++ compiler when > LLVM's enabled at all: > http://code.google.com/p/unladen-swallow/source/browse/trunk/Makefile.pre.in. > Python already had some support for this through the LINKCC configure > variable, but it wasn't being used to compile main(), just to link.
Ok - but then this *is* a problem for people embedding Python on such systems. They have to adjust their build process as well. (they probably will need to make adjustments for C++ even on ELF systems, as you still need to run C++ as the linker when linking libpythonxy.a, to get the C++ runtime linked) Regards, Martin _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com