mirror of https://github.com/swig/swig
32 lines
847 B
OpenEdge ABL
32 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; }
|
|
%}
|
|
|
|
|