2 Purpose: Check uint8_t arguments.
5 Originator: Dan Witte <dwitte@gmail.com> 20100916 */
13 typedef unsigned char u8
;
16 __attribute__((noinline
))
19 foo (uint8_t a
, uint8_t b
, uint8_t c
, uint8_t d
,
20 uint8_t e
, uint8_t f
, uint8_t g
)
22 return a
+ b
+ c
+ d
+ e
+ f
+ g
;
26 bar (uint8_t a
, uint8_t b
, uint8_t c
, uint8_t d
,
27 uint8_t e
, uint8_t f
, uint8_t g
)
29 return foo (a
, b
, c
, d
, e
, f
, g
);
35 ffi_type
*ffitypes
[NARGS
];
42 for (i
= 0; i
< NARGS
; ++i
)
43 ffitypes
[i
] = &ffi_type_uint8
;
45 CHECK (ffi_prep_cif (&cif
, ABI_NUM
, NARGS
,
46 &ffi_type_uint8
, ffitypes
) == FFI_OK
);
48 for (i
= 0; i
< NARGS
; ++i
)
51 argptrs
[i
] = &args
[i
];
53 ffi_call (&cif
, FFI_FN (bar
), &result
, argptrs
);