Print this page
new smatch
Split |
Close |
Expand all |
Collapse all |
--- old/usr/src/tools/smatch/src/target.h
+++ new/usr/src/tools/smatch/src/target.h
1 1 #ifndef TARGET_H
2 2 #define TARGET_H
3 3
4 4 extern struct symbol *size_t_ctype;
5 5 extern struct symbol *ssize_t_ctype;
6 +extern struct symbol *intmax_ctype;
7 +extern struct symbol *uintmax_ctype;
8 +extern struct symbol *int64_ctype;
9 +extern struct symbol *uint64_ctype;
10 +extern struct symbol *int32_ctype;
11 +extern struct symbol *uint32_ctype;
12 +extern struct symbol *wchar_ctype;
13 +extern struct symbol *wint_ctype;
6 14
7 15 /*
8 16 * For "__attribute__((aligned))"
9 17 */
10 18 extern int max_alignment;
11 19
12 20 /*
13 21 * Integer data types
14 22 */
15 23 extern int bits_in_bool;
16 24 extern int bits_in_char;
17 25 extern int bits_in_short;
18 26 extern int bits_in_int;
19 27 extern int bits_in_long;
20 28 extern int bits_in_longlong;
21 29 extern int bits_in_longlonglong;
22 30
23 -extern int bits_in_wchar;
24 -
25 31 extern int max_int_alignment;
26 32
27 33 /*
28 34 * Floating point data types
29 35 */
30 36 extern int bits_in_float;
31 37 extern int bits_in_double;
32 38 extern int bits_in_longdouble;
33 39
34 40 extern int max_fp_alignment;
35 41
36 42 /*
37 43 * Pointer data type
38 44 */
39 45 extern int bits_in_pointer;
40 46 extern int pointer_alignment;
41 47
42 48 /*
43 49 * Enum data types
44 50 */
45 51 extern int bits_in_enum;
46 52 extern int enum_alignment;
47 53
48 54 /*
49 55 * Helper functions for converting bits to bytes and vice versa.
50 56 */
51 57
52 58 static inline int bits_to_bytes(int bits)
53 59 {
54 60 return bits >= 0 ? (bits + bits_in_char - 1) / bits_in_char : -1;
55 61 }
56 62
57 63 static inline int bytes_to_bits(int bytes)
58 64 {
59 65 return bytes * bits_in_char;
60 66 }
61 67
62 68 static inline unsigned long array_element_offset(unsigned long base_bits, int idx)
63 69 {
64 70 int fragment = base_bits % bits_in_char;
65 71 if (fragment)
66 72 base_bits += bits_in_char - fragment;
67 73 return base_bits * idx;
68 74 }
69 75
70 76 #endif
↓ open down ↓ |
36 lines elided |
↑ open up ↑ |
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX