| %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) {} |