git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@7676 626c5289-ae23-0410-ae9c-e8d60b6d4f22
31 lines
847 B
OpenEdge ABL
31 lines
847 B
OpenEdge ABL
%module extern_declaration
|
|
|
|
// Test different calling conventions on Windows. Old versions of SWIG generated
|
|
// an incorrect extern declaration that wouldn't compile with Windows compilers.
|
|
#define SWIGEXPORT
|
|
#define SWIGSTDCALL
|
|
#define MYDLLIMPORT
|
|
|
|
%{
|
|
#if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
|
|
# define MYDLLIMPORT __declspec(dllimport)
|
|
#else
|
|
# define MYDLLIMPORT
|
|
#endif
|
|
%}
|
|
|
|
MYDLLIMPORT extern int externimport(int i);
|
|
SWIGEXPORT extern int externexport(int);
|
|
extern int SWIGSTDCALL externstdcall(int);
|
|
|
|
%{
|
|
/*
|
|
externimport ought to be using MYDLLIMPORT and compiled into another dll, but that is
|
|
a bit tricky to do in the test framework
|
|
*/
|
|
SWIGEXPORT extern int externimport(int i) { return i; }
|
|
SWIGEXPORT extern int externexport(int i) { return i; }
|
|
extern int SWIGSTDCALL externstdcall(int i) { return i; }
|
|
%}
|
|
|
|
|