File tree Expand file tree Collapse file tree 2 files changed +39
-0
lines changed Expand file tree Collapse file tree 2 files changed +39
-0
lines changed Original file line number Diff line number Diff line change 27
27
:integer :integer ) :float )
28
28
(defforeign call-ifunc *testmod* " call_ifunc" () :integer )
29
29
(defforeign call-ffunc *testmod* " call_ffunc" () :float )
30
+
31
+ (defforeign get-size-pointer *testmod* " get_size_of_pointer" () :integer )
32
+ (defforeign get-size-float32 *testmod* " get_size_of_float32" () :integer )
33
+ (defforeign get-size-double *testmod* " get_size_of_double" () :integer )
34
+ (defforeign get-size-long *testmod* " get_size_of_long" () :integer )
35
+ (defforeign get-size-int *testmod* " get_size_of_int" () :integer )
30
36
)
31
37
38
+ (format t " ~% ;;;; pointer size check ;;;;~% " )
39
+
40
+ (format t " pointer size ~D ~D~% "
41
+ lisp ::sizeof-* (get-size-pointer))
42
+ (format t " double size ~D ~D~% "
43
+ lisp ::sizeof-double (get-size-double))
44
+ (format t " long integer size ~D ~D~% "
45
+ (cadr (assoc :long lisp ::sizeof-types))
46
+ (get-size-long))
47
+ (format t " integer size ~D ~D~% "
48
+ lisp ::sizeof-int (get-size-int))
49
+ (format t " float size ~D ~D~% "
50
+ lisp ::sizeof-float (get-size-float32))
32
51
33
52
(format t " ~% multiple arguments passing~% " )
34
53
(format t " expected result~% " )
Original file line number Diff line number Diff line change @@ -194,3 +194,23 @@ double call_ffunc() {
194
194
2080.0 , 2090.0 ,
195
195
206 , 207 );
196
196
}
197
+
198
+ long get_size_of_pointer () {
199
+ return (sizeof (void * ));
200
+ }
201
+
202
+ long get_size_of_float32 () {
203
+ return (sizeof (float ));
204
+ }
205
+
206
+ long get_size_of_double () {
207
+ return (sizeof (double ));
208
+ }
209
+
210
+ long get_size_of_long () {
211
+ return (sizeof (long ));
212
+ }
213
+
214
+ long get_size_of_int () {
215
+ return (sizeof (int ));
216
+ }
You can’t perform that action at this time.
0 commit comments