File: 0002-Add-an-explicit-upcast-in-the-OO-style-test.patch

package info (click to toggle)
ocaml-ctypes 0.23.0-2
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 2,264 kB
  • sloc: ml: 13,403; ansic: 3,316; makefile: 72
file content (52 lines) | stat: -rw-r--r-- 1,846 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
From: Jeremy Yallop <yallop@gmail.com>
Date: Tue, 13 Aug 2024 06:41:53 +0100
Subject: Add an explicit upcast in the OO-style test.

Origin: upstream, https://github.com/yallop/ocaml-ctypes/pull/785
---
 tests/clib/test_functions.c            | 5 +++++
 tests/clib/test_functions.h            | 2 ++
 tests/test-oo_style/stubs/functions.ml | 2 +-
 3 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/tests/clib/test_functions.c b/tests/clib/test_functions.c
index cf81c5a..44d0f57 100644
--- a/tests/clib/test_functions.c
+++ b/tests/clib/test_functions.c
@@ -293,6 +293,11 @@ struct chorse *new_chorse(int colour)
   h->colour = (enum colour)colour;
   return h;
 }
+
+struct animal *new_chorse_as_animal(int colour)
+{
+  return (struct animal *)new_chorse(colour);
+}
 /* (End of OO-style example) */
 
 int accept_pointers(float *float_p,
diff --git a/tests/clib/test_functions.h b/tests/clib/test_functions.h
index eae2e17..011cc93 100644
--- a/tests/clib/test_functions.h
+++ b/tests/clib/test_functions.h
@@ -79,6 +79,8 @@ extern char *chorse_colour(struct chorse *);
 extern char *chorse_say(struct animal *);
 extern char *chorse_identify(struct animal *);
 extern struct chorse *new_chorse(int);
+extern struct animal *new_chorse_as_animal(int);
+
 extern int accept_pointers(float *,
                            double *,
                            short *,
diff --git a/tests/test-oo_style/stubs/functions.ml b/tests/test-oo_style/stubs/functions.ml
index 84ded6f..a35fa2c 100644
--- a/tests/test-oo_style/stubs/functions.ml
+++ b/tests/test-oo_style/stubs/functions.ml
@@ -81,6 +81,6 @@ struct
   let check_name = foreign "check_name"
     (ptr animal @-> string @-> returning int)
 
-    let new_chorse = foreign "new_chorse"
+  let new_chorse = foreign "new_chorse_as_animal"
       (int @-> returning (ptr animal))
 end