swig/Examples/test-suite/preproc_5.i
Dave Beazley 43c45a7c51 new test
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@4296 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-02-11 21:28:42 +00:00

31 lines
524 B
OpenEdge ABL

%module preproc_5
// Various preprocessor bits of nastiness.
/* Test argument name substitution */
#define foo(x,xx) #x #xx
#define bar(x,xx) x + xx
%constant char *a = foo(hello,world);
%constant int b = bar(3,4);
// Wrap your brain around this one ;-)
%{
#define cat(x,y) x ## y
%}
#define cat(x,y) x ## y
/* This should expand to cat(1,2);
See K&R, p. 231 */
%constant int c = cat(cat(1,2),;)
#define xcat(x,y) cat(x,y)
/* This expands to 123. See K&R, p. 231 */
%constant int d = xcat(xcat(1,2),3);