comparison: handle preops like "if (++a == b)"
[smatch.git] / check_list.h
blob3a6d124cb780e6a0426a50cfbd0f5bc67db45960
1 #ifndef CK
2 #define CK(_x) void _x(int id);
3 #define __undo_CK_def
4 #endif
6 CK(register_smatch_extra) /* smatch_extra always has to be first */
7 CK(register_modification_hooks)
8 CK(register_definition_db_callbacks)
9 CK(register_project)
10 CK(register_untracked_param)
12 CK(register_smatch_ignore)
13 CK(register_buf_size)
14 CK(register_strlen)
15 CK(register_strlen_equiv)
16 CK(register_capped)
17 CK(register_parse_call_math)
18 CK(register_param_limit)
19 CK(register_param_filter)
20 CK(register_param_set)
21 CK(register_param_cleared)
22 CK(register_struct_assignment)
23 CK(register_comparison)
24 CK(register_comparison_links)
25 CK(register_local_values)
26 CK(register_function_ptrs)
27 CK(register_annotate)
28 CK(register_start_states)
29 CK(register_type_val)
30 CK(register_data_source)
31 CK(register_common_functions)
32 CK(register_stored_conditions_links)
33 CK(register_function_info)
34 CK(register_auto_copy)
35 CK(register_type_links)
36 CK(register_impossible)
37 CK(register_impossible_return)
39 CK(check_debug)
40 CK(check_assigned_expr)
41 CK(check_assigned_expr_links)
42 CK(check_user_data)
44 CK(check_user_data2)
45 CK(check_user_data3)
47 CK(check_bogus_loop)
49 CK(check_deref)
50 CK(check_check_deref)
51 CK(check_dereferences_param)
52 CK(check_frees_param)
53 CK(check_overflow)
54 CK(check_leaks)
55 CK(check_type)
56 CK(check_allocation_funcs)
57 CK(check_frees_argument)
58 CK(check_balanced)
59 CK(check_deref_check)
60 CK(check_signed)
61 CK(check_precedence)
62 CK(check_format_string)
63 CK(check_unused_ret)
64 CK(check_dma_on_stack)
65 CK(check_param_mapper)
66 CK(check_call_tree)
67 CK(check_dev_queue_xmit)
68 CK(check_stack)
69 CK(check_no_return)
70 CK(check_mod_timer)
71 CK(check_return)
72 CK(check_resource_size)
73 CK(check_release_resource)
74 CK(check_proc_create)
75 CK(check_freeing_null)
76 CK(check_free)
77 CK(check_no_effect)
78 CK(check_kunmap)
79 CK(check_snprintf)
80 CK(check_macros)
81 CK(check_return_efault)
82 CK(check_gfp_dma)
83 CK(check_unwind)
84 CK(check_kmalloc_to_bugon)
85 CK(check_platform_device_put)
86 CK(check_info_leak)
87 CK(check_return_enomem)
88 CK(check_get_user_overflow)
89 CK(check_get_user_overflow2)
90 CK(check_access_ok_math)
91 CK(check_container_of)
92 CK(check_input_free_device)
93 CK(check_select)
94 CK(check_memset)
95 CK(check_logical_instead_of_bitwise)
96 CK(check_kmalloc_wrong_size)
97 CK(check_pointer_math)
98 CK(check_bit_shift)
99 CK(check_macro_side_effects)
100 CK(check_sizeof)
101 CK(check_or_vs_and)
102 CK(check_passes_sizeof)
103 CK(check_assign_vs_compare)
104 CK(check_missing_break)
105 CK(check_array_condition)
106 CK(check_struct_type)
107 CK(check_64bit_shift)
108 CK(check_cast_assign)
109 CK(check_readl_infinite_loops)
110 CK(check_double_checking)
111 CK(check_shift_to_zero)
112 CK(check_unreachable)
113 CK(check_no_if_block)
114 CK(check_buffer_too_small_for_struct)
116 /* <- your test goes here */
117 /* CK(register_template) */
119 /* kernel specific */
120 CK(check_locking)
121 CK(check_puts_argument)
122 CK(check_err_ptr)
123 CK(check_err_ptr_deref)
124 CK(check_expects_err_ptr)
125 CK(check_held_dev)
126 CK(check_return_negative_var)
127 CK(check_rosenberg)
128 CK(check_rosenberg2)
129 CK(check_wait_for_common)
130 CK(check_bogus_irqrestore)
131 CK(check_buf_comparison)
132 CK(check_buf_comparison_links)
133 CK(check_capable)
134 CK(check_ns_capable)
136 /* wine specific stuff */
137 CK(check_wine_filehandles)
138 CK(check_wine_WtoA)
140 #include "check_list_local.h"
142 CK(register_stored_conditions)
143 CK(register_sval)
144 CK(register_buf_size_late)
145 CK(register_modification_hooks_late)
146 CK(register_smatch_extra_late)
147 CK(check_kernel) /* this is overwriting stuff from smatch_extra_late */
148 CK(register_function_hooks)
149 CK(register_returns)
150 CK(register_db_call_marker) /* always second last */
151 CK(register_implications) /* implications always has to be last */
153 #ifdef __undo_CK_def
154 #undef CK
155 #undef __undo_CK_def
156 #endif