[Python-Dev] Looking for a DL_xxPORT macro export (original) (raw)
Fred L. Drake, Jr. fdrake@beopen.com
Fri, 25 Aug 2000 22:49:30 -0400 (EDT)
- Previous message: [Python-Dev] Looking for a DL_xxPORT macro export
- Next message: [Python-Dev] Looking for a DL_xxPORT macro export
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Tim Peters writes:
Somebody recently added DL_IMPORT macros to two module init functions that already used their names in DL_EXPORT macros (pyexpat.c and parsermodule.c).
That was me.
On Windows, that yields the result I (naively?) expected: compiler warnings about inconsistent linkage declarations.
Ouch.
This is your basic Undocumented X-Platform Macro Hell, and I suppose the Windows build should be #define'ing USE_DL_EXPORT for these subprojects anyway (?), but if I don't hear a good reason for why both macros are used on the same name in the same file, I'll be irresistibly tempted to just delete the new DL_IMPORT lines. That is, why would we ever use DL_IMPORT on the name of a module init function? They only exist to be exported.
Here's how I arrived at it, but appearantly this doesn't make sense, because Windows has too many linkage options. ;) Compiling with gcc using the -Wmissing-prototypes option causes a warning to be printed if there isn't a prototype at all:
cj42289-a(.../linux-beowolf/Modules); gcc -fpic -g -ansi -Wall -Wmissing-prototypes -O2 -I../../Include -I.. -DHAVE_CONFIG_H -c ../../Modules/parsermodule.c ../../Modules/parsermodule.c:2852: warning: no previous prototype for `initparser'
I used the DL_IMPORT since that's how all the prototypes in the Python headers are set up. I can either change these to "normal" prototypes (no DL_xxPORT macros), DL_EXPORT prototypes, or remove the prototypes completely, and we'll just have to ignore the warning. If you can write a few sentences explaining each of these macros and when they should be used, I'll make sure they land in the documentation. ;)
-Fred
-- Fred L. Drake, Jr. BeOpen PythonLabs Team Member
- Previous message: [Python-Dev] Looking for a DL_xxPORT macro export
- Next message: [Python-Dev] Looking for a DL_xxPORT macro export
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]