4
#if defined(__SUNPRO_CC)
5
#pragma error_messages (off, badargtype2w) /* Formal argument ... is being passed extern "C" ... */
11
int addByValue(const int &a, int b) { return a+b; }
12
int * addByPointer(const int &a, int b) { static int val; val = a+b; return &val; }
13
int & addByReference(const int &a, int b) { static int val; val = a+b; return val; }
15
int call1(int (*d)(const int &, int), int a, int b) { return d(a, b); }
16
int call2(int * (*d)(const int &, int), int a, int b) { return *d(a, b); }
17
int call3(int & (*d)(const int &, int), int a, int b) { return d(a, b); }
20
%constant int (*ADD_BY_VALUE)(const int &, int) = addByValue;
21
%constant int * (*ADD_BY_POINTER)(const int &, int) = addByPointer;
22
%constant int & (*ADD_BY_REFERENCE)(const int &, int) = addByReference;