-
Notifications
You must be signed in to change notification settings - Fork 7.8k
/
Copy path044.phpt
42 lines (42 loc) · 1.12 KB
/
044.phpt
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
--TEST--
FFI 044: mode attribute
--EXTENSIONS--
ffi
--INI--
ffi.enable=1
--FILE--
<?php
$ffi = FFI::cdef("
typedef int a __attribute__ ((__mode__ (__QI__)));
typedef unsigned int ua __attribute__ ((__mode__ (__QI__)));
typedef int b __attribute__ ((__mode__ (__HI__)));
typedef unsigned int ub __attribute__ ((__mode__ (__HI__)));
typedef int c __attribute__ ((__mode__ (__SI__)));
typedef unsigned int uc __attribute__ ((__mode__ (__SI__)));
typedef int d __attribute__ ((__mode__ (__DI__)));
typedef unsigned int ud __attribute__ ((__mode__ (__DI__)));
typedef float e __attribute__ ((__mode__ (__SF__)));
typedef float f __attribute__ ((__mode__ (__DF__)));
");
var_dump(FFI::sizeof($ffi->new("a")));
var_dump(FFI::sizeof($ffi->new("ua")));
var_dump(FFI::sizeof($ffi->new("b")));
var_dump(FFI::sizeof($ffi->new("ub")));
var_dump(FFI::sizeof($ffi->new("c")));
var_dump(FFI::sizeof($ffi->new("uc")));
var_dump(FFI::sizeof($ffi->new("d")));
var_dump(FFI::sizeof($ffi->new("ud")));
var_dump(FFI::sizeof($ffi->new("e")));
var_dump(FFI::sizeof($ffi->new("f")));
?>
--EXPECT--
int(1)
int(1)
int(2)
int(2)
int(4)
int(4)
int(8)
int(8)
int(4)
int(8)