It is still a bit rough around some edges, particularly with regard to multi-threading and operator overloading, and there are some documentation bits missing, but it should be fine for basic use. The test-suite should build and run fine with the current versions of DMD, LDC and Tango (at least) on Linux x86_64 and Mac OS X 10.6. git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12299 626c5289-ae23-0410-ae9c-e8d60b6d4f22
32 lines
800 B
OpenEdge ABL
32 lines
800 B
OpenEdge ABL
/* File : example.i */
|
|
%module example
|
|
|
|
/* Force the generated D code to use the C constant values rather than
|
|
retrieving them at runtime. You can also try disabling the feature and
|
|
compare the generated code. */
|
|
%dnativeconst;
|
|
|
|
|
|
/* A few preprocessor macros */
|
|
|
|
#define ICONST 42
|
|
#define FCONST 2.1828
|
|
#define CCONST 'x'
|
|
#define CCONST2 '\n'
|
|
#define SCONST "Hello World"
|
|
#define SCONST2 "\"Hello World\""
|
|
|
|
/* This should work just fine */
|
|
#define EXPR ICONST + 3*(FCONST)
|
|
|
|
/* This shouldn't do anything */
|
|
#define EXTERN extern
|
|
|
|
/* Neither should this (BAR isn't defined) */
|
|
#define FOO (ICONST + BAR)
|
|
|
|
|
|
/* The following directives also produce constants */
|
|
|
|
%constant int iconst = 37;
|
|
%constant double fconst = 3.14;
|