summaryrefslogtreecommitdiff
path: root/Examples/test-suite/default_args_c.i
diff options
context:
space:
mode:
Diffstat (limited to 'Examples/test-suite/default_args_c.i')
-rw-r--r--Examples/test-suite/default_args_c.i39
1 files changed, 39 insertions, 0 deletions
diff --git a/Examples/test-suite/default_args_c.i b/Examples/test-suite/default_args_c.i
index e0c0af056..f507aa797 100644
--- a/Examples/test-suite/default_args_c.i
+++ b/Examples/test-suite/default_args_c.i
@@ -1,5 +1,13 @@
%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);
@@ -12,3 +20,34 @@ 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) {}