[Python-Dev] Should Python compile as C++?
Guido van Rossum
guido@python.org
Tue, 05 Feb 2002 01:34:19 -0500
> I'm currently doing a native mingw32 port of Python, and I've hit the
> ugly "initializer is not a constant" problem mentioned in the FAQ. Hmm,
> looks like I have three options:
>
> 1 Fix the Python sources in the Object/ directory and initalize the
> structs in a seperate init_objects function
> 2 compile Python with a C++ compiler
> 3 fix the mingw32 compiler
>
> When trying option 2, I recognized that a lot of Python's source is not
> valid ANSI C++. There are even variable names like "class" and "new".
> There are of course less obvious issues when trying to make the source
> compile as C++, in particular a lot more casts are needed. If it's just
> that Python is supposed to compile as C++ but it hasn't been tested for
> a while, I could do the necessary fixes and submit a patch. But if
> that's a new idea, I don't know if fixing it now makes sense.
>
> Because I plan to submit the required changes as a patch when the port
> is ready, I'd like to know if you'd accept a patch for option #1.
Sounds to me like the Mingw32 compiler is not ANSI compatible. I
don't want to have to change the source to accommodate a broken
compiler that a very small minority of users want to use. So I am
against #1.
We never said that our .c files would be valid C++ (.h files is a
different story) so I think #2 is not an option.
I vote for #3 -- if enough software can't compiled with mingw32 the
compiler will be fixed, as it should, and I'm happy to help encourage
this.
--Guido van Rossum (home page: http://www.python.org/~guido/)