mirror of https://github.com/swig/swig
54 lines
1.0 KiB
OpenEdge ABL
54 lines
1.0 KiB
OpenEdge ABL
%module default_args_c
|
|
|
|
%{
|
|
#if defined(__clang__)
|
|
#pragma clang diagnostic push
|
|
// Suppress: use of logical '||' with constant operand
|
|
#pragma clang diagnostic ignored "-Wconstant-logical-operand"
|
|
#endif
|
|
%}
|
|
|
|
/* Default arguments for C code */
|
|
int foo1(int x = 42 || 3);
|
|
int foo43(int x = 42 | 3);
|
|
|
|
%{
|
|
int foo1(int x) {
|
|
return x;
|
|
}
|
|
int foo43(int x) {
|
|
return x;
|
|
}
|
|
%}
|
|
|
|
%inline %{
|
|
struct FooStruct {
|
|
int num;
|
|
};
|
|
%}
|
|
%extend FooStruct {
|
|
void no_arg() {}
|
|
void one_req(int *required) {}
|
|
void one_opt(int *optional = NULL) {}
|
|
void two_arg(int *required, int *optional = NULL) {}
|
|
}
|
|
|
|
%inline %{
|
|
struct StaticStruct {
|
|
int snum;
|
|
};
|
|
%}
|
|
%extend StaticStruct {
|
|
static void no_arg() {}
|
|
static void one_req(int *required) {}
|
|
static void one_opt(int *optional = NULL) {}
|
|
static void two_arg(int *required, int *optional = NULL) {}
|
|
}
|
|
|
|
%{
|
|
void global_opts1(int *optional) {}
|
|
void global_opts2(int *required, int *optional) {}
|
|
%}
|
|
void global_opts1(int *optional = NULL) {}
|
|
void global_opts2(int *required, int *optional = NULL) {}
|