>> 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

Reply via email to