Symbol: expression
usr/src/boot/libsa/assert.c
34
__assert(const char *func, const char *file, int line, const char *expression)
usr/src/boot/libsa/assert.c
38
expression, file, line);
usr/src/boot/libsa/assert.c
41
expression, func, file, line);
usr/src/cmd/cmd-inet/usr.sbin/snoop/snoop_filter.c
2109
expression();
usr/src/cmd/cmd-inet/usr.sbin/snoop/snoop_filter.c
2171
expression();
usr/src/cmd/cmd-inet/usr.sbin/snoop/snoop_filter.c
231
static void expression();
usr/src/cmd/cmd-inet/usr.sbin/snoop/snoop_filter.c
2806
expression();
usr/src/cmd/mdb/common/mdb/mdb_grammar.y
126
%type <l_immediate> expression
usr/src/cmd/mdb/common/mdb/mdb_grammar.y
142
| expression pipeline shell_pipe terminator {
usr/src/cmd/mdb/common/mdb/mdb_grammar.y
147
| expression ',' expression pipeline shell_pipe terminator {
usr/src/cmd/mdb/common/mdb/mdb_grammar.y
152
| ',' expression pipeline shell_pipe terminator {
usr/src/cmd/mdb/common/mdb/mdb_grammar.y
158
| expression terminator {
usr/src/cmd/mdb/common/mdb/mdb_grammar.y
186
| expression ',' expression shell_pipe terminator {
usr/src/cmd/mdb/common/mdb/mdb_grammar.y
192
| ',' expression shell_pipe terminator {
usr/src/cmd/mdb/common/mdb/mdb_grammar.y
240
| format_list MDB_TOK_LEXPR expression MDB_TOK_REXPR {
usr/src/cmd/mdb/common/mdb/mdb_grammar.y
278
| argument_list MDB_TOK_LEXPR expression MDB_TOK_REXPR {
usr/src/cmd/mdb/common/mdb/mdb_grammar.y
297
expression: expression '+' expression { $$ = $1 + $3; }
usr/src/cmd/mdb/common/mdb/mdb_grammar.y
298
| expression '-' expression { $$ = $1 - $3; }
usr/src/cmd/mdb/common/mdb/mdb_grammar.y
299
| expression '*' expression { $$ = $1 * $3; }
usr/src/cmd/mdb/common/mdb/mdb_grammar.y
301
| expression '%' expression {
usr/src/cmd/mdb/common/mdb/mdb_grammar.y
315
| expression MDB_TOK_MODULUS expression {
usr/src/cmd/mdb/common/mdb/mdb_grammar.y
325
| expression '&' expression { $$ = $1 & $3; }
usr/src/cmd/mdb/common/mdb/mdb_grammar.y
326
| expression '|' expression { $$ = $1 | $3; }
usr/src/cmd/mdb/common/mdb/mdb_grammar.y
327
| expression '^' expression { $$ = $1 ^ $3; }
usr/src/cmd/mdb/common/mdb/mdb_grammar.y
329
| expression MDB_TOK_EQUAL expression { $$ = ($1 == $3); }
usr/src/cmd/mdb/common/mdb/mdb_grammar.y
330
| expression MDB_TOK_NOTEQUAL expression { $$ = ($1 != $3); }
usr/src/cmd/mdb/common/mdb/mdb_grammar.y
332
| expression MDB_TOK_LSHIFT expression { $$ = $1 << $3; }
usr/src/cmd/mdb/common/mdb/mdb_grammar.y
333
| expression MDB_TOK_RSHIFT expression { $$ = $1 >> $3; }
usr/src/cmd/mdb/common/mdb/mdb_grammar.y
335
| expression '#' expression {
usr/src/cmd/mdb/common/mdb/mdb_grammar.y
342
| '*' expression %prec MDB_COR_VALUE {
usr/src/cmd/mdb/common/mdb/mdb_grammar.y
349
| MDB_TOK_COR1_DEREF expression %prec MDB_COR_VALUE {
usr/src/cmd/mdb/common/mdb/mdb_grammar.y
356
| MDB_TOK_COR2_DEREF expression %prec MDB_COR_VALUE {
usr/src/cmd/mdb/common/mdb/mdb_grammar.y
363
| MDB_TOK_COR4_DEREF expression %prec MDB_COR_VALUE {
usr/src/cmd/mdb/common/mdb/mdb_grammar.y
370
| MDB_TOK_COR8_DEREF expression %prec MDB_COR_VALUE {
usr/src/cmd/mdb/common/mdb/mdb_grammar.y
377
| '%' expression %prec MDB_OBJ_VALUE {
usr/src/cmd/mdb/common/mdb/mdb_grammar.y
384
| MDB_TOK_OBJ1_DEREF expression %prec MDB_OBJ_VALUE {
usr/src/cmd/mdb/common/mdb/mdb_grammar.y
391
| MDB_TOK_OBJ2_DEREF expression %prec MDB_OBJ_VALUE {
usr/src/cmd/mdb/common/mdb/mdb_grammar.y
398
| MDB_TOK_OBJ4_DEREF expression %prec MDB_OBJ_VALUE {
usr/src/cmd/mdb/common/mdb/mdb_grammar.y
405
| MDB_TOK_OBJ8_DEREF expression %prec MDB_OBJ_VALUE {
usr/src/cmd/mdb/common/mdb/mdb_grammar.y
412
| '-' expression %prec MDB_INT_NEGATE { $$ = -$2; }
usr/src/cmd/mdb/common/mdb/mdb_grammar.y
413
| '~' expression %prec MDB_BIT_COMPLEMENT { $$ = ~$2; }
usr/src/cmd/mdb/common/mdb/mdb_grammar.y
414
| '#' expression %prec MDB_LOG_NEGATE { $$ = !$2; }
usr/src/cmd/mdb/common/mdb/mdb_grammar.y
415
| '(' expression ')' { $$ = $2; }
usr/src/common/ficl/dictionary.c
60
#define FICL_DICTIONARY_ASSERT(dictionary, expression) \
usr/src/common/ficl/dictionary.c
62
expression)
usr/src/common/ficl/ficl.h
1283
ficlCallbackAssert(ficlCallback *callback, int expression,
usr/src/common/ficl/ficl.h
1285
#define FICL_ASSERT(callback, expression) \
usr/src/common/ficl/ficl.h
1286
(ficlCallbackAssert((callback), (expression) != 0, \
usr/src/common/ficl/ficl.h
1287
#expression, __FILE__, __LINE__))
usr/src/common/ficl/ficl.h
1289
#define FICL_ASSERT(callback, expression)
usr/src/common/ficl/ficl.h
1292
#define FICL_VM_ASSERT(vm, expression) \
usr/src/common/ficl/ficl.h
1293
FICL_ASSERT((ficlCallback *)(vm), (expression))
usr/src/common/ficl/ficl.h
1294
#define FICL_SYSTEM_ASSERT(system, expression) \
usr/src/common/ficl/ficl.h
1295
FICL_ASSERT((ficlCallback *)(system), (expression))
usr/src/common/ficl/hash.c
3
#define FICL_ASSERT_PHASH(hash, expression) FICL_ASSERT(NULL, expression)
usr/src/common/ficl/tools.c
67
ficlCallbackAssert(ficlCallback *callback, int expression,
usr/src/common/ficl/tools.c
71
if (!expression) {
usr/src/common/ficl/tools.c
80
FICL_IGNORE(expression);
usr/src/lib/libdtrace/common/dt_grammar.y
190
%type <l_node> expression
usr/src/lib/libdtrace/common/dt_grammar.y
223
| DT_CTX_DEXPR expression { $$ = $2; }
usr/src/lib/libdtrace/common/dt_grammar.y
330
| probe_specifiers DT_TOK_DIV expression DT_TOK_EPRED {
usr/src/lib/libdtrace/common/dt_grammar.y
334
| probe_specifiers DT_TOK_DIV expression DT_TOK_EPRED
usr/src/lib/libdtrace/common/dt_grammar.y
363
| statement_list_impl expression {
usr/src/lib/libdtrace/common/dt_grammar.y
373
| expression ';' { $$ = dt_node_statement($1); }
usr/src/lib/libdtrace/common/dt_grammar.y
374
| DT_KEY_IF DT_TOK_LPAR expression DT_TOK_RPAR statement_or_block {
usr/src/lib/libdtrace/common/dt_grammar.y
377
| DT_KEY_IF DT_TOK_LPAR expression DT_TOK_RPAR
usr/src/lib/libdtrace/common/dt_grammar.y
397
| DT_TOK_LPAR expression DT_TOK_RPAR { $$ = $2; }
usr/src/lib/libdtrace/common/dt_grammar.y
440
DT_TOK_LPAR expression DT_TOK_RPAR {
usr/src/lib/libdtrace/common/dt_grammar.y
580
| logical_or_expression DT_TOK_QUESTION expression DT_TOK_COLON
usr/src/lib/libdtrace/common/dt_grammar.y
605
expression: assignment_expression
usr/src/lib/libdtrace/common/dt_grammar.y
606
| expression DT_TOK_COMMA assignment_expression {
usr/src/lib/libdtrace/common/dt_grammar.y
761
| DT_TOK_IDENT DT_TOK_ASGN expression {
usr/src/lib/print/libpapi-common/common/attribute.c
642
char *expression;
usr/src/lib/print/libpapi-common/common/attribute.c
661
(void) regcomp(&(types[i].re), types[i].expression,
usr/src/lib/udapl/udapl_tavor/include/dapl_osd.h
334
#define dapl_os_assert(expression) assert((expression))
usr/src/tools/cscope-fast/cgrep.c
156
uchar_t *expression;
usr/src/tools/cscope-fast/cgrep.c
310
egrepinit(char *expression)
usr/src/tools/cscope-fast/cgrep.c
327
match_pattern.expression = (uchar_t *)expression;
usr/src/tools/cscope-fast/cgrep.c
358
printf("PATTERN %s\n", pat->expression);
usr/src/tools/cscope-fast/cgrep.c
904
pat->loc1 = pat->expression;
usr/src/tools/cscope-fast/cgrep.c
905
pat->loc2 = pat->expression + strlen((char *)pat->expression);
usr/src/tools/cscope-fast/global.h
186
char *egrepinit(char *expression);
usr/src/tools/smatch/src/allocate.c
144
ALLOCATOR(expression, "expressions");
usr/src/tools/smatch/src/allocate.h
84
DECLARE_ALLOCATOR(expression);
usr/src/tools/smatch/src/ast-inspect.c
190
struct expression *expr = node->ptr;
usr/src/tools/smatch/src/ast-inspect.c
52
ast_append_child(node, "expression:", stmt->expression, inspect_expression);
usr/src/tools/smatch/src/builtin.c
106
static int expand_expect(struct expression *expr, int cost)
usr/src/tools/smatch/src/builtin.c
108
struct expression *arg = first_ptr_list((struct ptr_list *) expr->args);
usr/src/tools/smatch/src/builtin.c
119
static int expand_warning(struct expression *expr, int cost)
usr/src/tools/smatch/src/builtin.c
121
struct expression *arg;
usr/src/tools/smatch/src/builtin.c
161
static int expand_constant_p(struct expression *expr, int cost)
usr/src/tools/smatch/src/builtin.c
170
static int expand_safe_p(struct expression *expr, int cost)
usr/src/tools/smatch/src/builtin.c
203
static int expand_bswap(struct expression *expr, int cost)
usr/src/tools/smatch/src/builtin.c
205
struct expression *arg;
usr/src/tools/smatch/src/builtin.c
233
static int evaluate_fp_unop(struct expression *expr)
usr/src/tools/smatch/src/builtin.c
235
struct expression *arg;
usr/src/tools/smatch/src/builtin.c
254
static int evaluate_overflow_gen(struct expression *expr, int ptr)
usr/src/tools/smatch/src/builtin.c
256
struct expression *arg;
usr/src/tools/smatch/src/builtin.c
298
static int evaluate_overflow(struct expression *expr)
usr/src/tools/smatch/src/builtin.c
308
static int evaluate_overflow_p(struct expression *expr)
usr/src/tools/smatch/src/builtin.c
33
static int evaluate_to_int_const_expr(struct expression *expr)
usr/src/tools/smatch/src/builtin.c
40
static int evaluate_pure_unop(struct expression *expr)
usr/src/tools/smatch/src/builtin.c
42
struct expression *arg = first_expression(expr->args);
usr/src/tools/smatch/src/builtin.c
58
static int eval_args(struct expression *expr, int n)
usr/src/tools/smatch/src/builtin.c
60
struct expression *arg;
usr/src/tools/smatch/src/builtin.c
85
static int args_triadic(struct expression *expr)
usr/src/tools/smatch/src/builtin.c
90
static int evaluate_choose(struct expression *expr)
usr/src/tools/smatch/src/builtin.c
93
struct expression *arg, *args[3];
usr/src/tools/smatch/src/char.c
94
struct token *get_string_constant(struct token *token, struct expression *expr)
usr/src/tools/smatch/src/char.h
2
extern struct token *get_string_constant(struct token *, struct expression *);
usr/src/tools/smatch/src/check_64bit_shift.c
23
static void match_shift_mask(struct expression *expr)
usr/src/tools/smatch/src/check_64bit_shift.c
25
struct expression *right, *shifter;
usr/src/tools/smatch/src/check_64bit_shift.c
53
static void match_shift_assignment(struct expression *expr)
usr/src/tools/smatch/src/check_64bit_shift.c
56
struct expression *right;
usr/src/tools/smatch/src/check_access_ok_math.c
22
static int can_overflow(struct expression *expr)
usr/src/tools/smatch/src/check_access_ok_math.c
47
static void match_size(struct expression *size_expr)
usr/src/tools/smatch/src/check_access_ok_math.c
68
static void match_access_ok(const char *fn, struct expression *expr, void *data)
usr/src/tools/smatch/src/check_access_ok_math.c
70
struct expression *size_expr;
usr/src/tools/smatch/src/check_access_ok_math.c
78
struct expression *expr;
usr/src/tools/smatch/src/check_all_func_returns.c
26
static void check_func_return(struct expression *expr)
usr/src/tools/smatch/src/check_all_func_returns.c
77
if (stmt && stmt->type == STMT_EXPRESSION && stmt->expression == expr)
usr/src/tools/smatch/src/check_allocating_enough_data.c
20
static void db_returns_buf_size(struct expression *expr, int param, char *unused, char *math)
usr/src/tools/smatch/src/check_allocating_enough_data.c
22
struct expression *call;
usr/src/tools/smatch/src/check_allocation_funcs.c
40
static void match_allocation(const char *fn, struct expression *expr,
usr/src/tools/smatch/src/check_allocation_funcs.c
59
static void match_return(struct expression *ret_value)
usr/src/tools/smatch/src/check_arm64_tagged.c
115
static bool expr_has_memory_addr(struct expression *expr)
usr/src/tools/smatch/src/check_arm64_tagged.c
188
static void match_condition(struct expression *expr)
usr/src/tools/smatch/src/check_arm64_tagged.c
191
struct expression *val = NULL;
usr/src/tools/smatch/src/check_arm64_tagged.c
22
static bool expr_has_memory_addr(struct expression *expr);
usr/src/tools/smatch/src/check_arm64_tagged.c
28
static void match_assign(struct expression *expr)
usr/src/tools/smatch/src/check_arm64_tagged.c
53
static bool expr_has_untagged_symbol(struct expression *expr)
usr/src/tools/smatch/src/check_arm64_tagged.c
72
static bool expr_has_untagged_member(struct expression *expr)
usr/src/tools/smatch/src/check_arm64_tagged.c
85
static bool expr_has_macro_with_name(struct expression *expr, const char *macro_name)
usr/src/tools/smatch/src/check_arm64_tagged.c
93
static bool expr_has_untagged_macro(struct expression *expr)
usr/src/tools/smatch/src/check_array_condition.c
30
static void match_condition(struct expression *expr)
usr/src/tools/smatch/src/check_assign_vs_compare.c
22
static void check_constant(struct expression *expr)
usr/src/tools/smatch/src/check_assign_vs_compare.c
31
static void check_address(struct expression *expr)
usr/src/tools/smatch/src/check_assign_vs_compare.c
34
struct expression *right = strip_expr(expr->right);
usr/src/tools/smatch/src/check_assign_vs_compare.c
51
static void match_condition(struct expression *expr)
usr/src/tools/smatch/src/check_atomic_inc_dec.c
100
struct expression *arg;
usr/src/tools/smatch/src/check_atomic_inc_dec.c
172
static bool is_inc_dec_primitive(struct expression *expr)
usr/src/tools/smatch/src/check_atomic_inc_dec.c
192
static void db_inc(struct expression *expr, int param, char *key, char *value)
usr/src/tools/smatch/src/check_atomic_inc_dec.c
199
static void db_dec(struct expression *expr, int param, char *key, char *value)
usr/src/tools/smatch/src/check_atomic_inc_dec.c
206
static void match_atomic_inc(const char *fn, struct expression *expr, void *_unused)
usr/src/tools/smatch/src/check_atomic_inc_dec.c
211
static void match_atomic_dec(const char *fn, struct expression *expr, void *_unused)
usr/src/tools/smatch/src/check_atomic_inc_dec.c
216
static void match_atomic_add(const char *fn, struct expression *expr, void *_unused)
usr/src/tools/smatch/src/check_atomic_inc_dec.c
218
struct expression *amount;
usr/src/tools/smatch/src/check_atomic_inc_dec.c
230
static void match_atomic_sub(const char *fn, struct expression *expr, void *_unused)
usr/src/tools/smatch/src/check_atomic_inc_dec.c
235
static void refcount_inc(const char *fn, struct expression *expr, void *param)
usr/src/tools/smatch/src/check_atomic_inc_dec.c
240
static void refcount_dec(const char *fn, struct expression *expr, void *param)
usr/src/tools/smatch/src/check_atomic_inc_dec.c
245
static void pm_runtime_get_sync(const char *fn, struct expression *expr, void *param)
usr/src/tools/smatch/src/check_atomic_inc_dec.c
250
static void match_implies_inc(const char *fn, struct expression *call_expr,
usr/src/tools/smatch/src/check_atomic_inc_dec.c
251
struct expression *assign_expr, void *param)
usr/src/tools/smatch/src/check_atomic_inc_dec.c
256
static void match_implies_atomic_dec(const char *fn, struct expression *call_expr,
usr/src/tools/smatch/src/check_atomic_inc_dec.c
257
struct expression *assign_expr, void *param)
usr/src/tools/smatch/src/check_atomic_inc_dec.c
272
static void match_return_info(int return_id, char *return_ranges, struct expression *expr)
usr/src/tools/smatch/src/check_atomic_inc_dec.c
411
static void match_save_states(struct expression *expr)
usr/src/tools/smatch/src/check_atomic_inc_dec.c
417
static void match_restore_states(struct expression *expr)
usr/src/tools/smatch/src/check_atomic_inc_dec.c
97
static void db_inc_dec(struct expression *expr, int param, const char *key, int inc_dec)
usr/src/tools/smatch/src/check_bit_shift.c
115
static void match_binop_info(struct expression *expr)
usr/src/tools/smatch/src/check_bit_shift.c
134
static void match_call(const char *fn, struct expression *expr, void *_arg_no)
usr/src/tools/smatch/src/check_bit_shift.c
136
struct expression *arg_expr;
usr/src/tools/smatch/src/check_bit_shift.c
32
static const char *get_shifter(struct expression *expr)
usr/src/tools/smatch/src/check_bit_shift.c
54
static void match_assign(struct expression *expr)
usr/src/tools/smatch/src/check_bit_shift.c
70
static void match_binop(struct expression *expr)
usr/src/tools/smatch/src/check_bogus_irqrestore.c
22
static void match_irqrestore(const char *fn, struct expression *expr, void *data)
usr/src/tools/smatch/src/check_bogus_irqrestore.c
24
struct expression *arg_expr;
usr/src/tools/smatch/src/check_bogus_loop.c
23
static int right_side_changes(struct expression *expr)
usr/src/tools/smatch/src/check_bogus_loop.c
32
static struct expression *get_iterator_set(struct statement *stmt)
usr/src/tools/smatch/src/check_bogus_loop.c
34
struct expression *expr;
usr/src/tools/smatch/src/check_bogus_loop.c
40
expr = stmt->expression;
usr/src/tools/smatch/src/check_bogus_loop.c
50
static struct expression *get_iterator_tested(struct expression *expr)
usr/src/tools/smatch/src/check_bogus_loop.c
61
struct expression *iterator;
usr/src/tools/smatch/src/check_buffer_too_small_for_struct.c
24
static void match_assign(struct expression *expr)
usr/src/tools/smatch/src/check_buffer_too_small_for_struct.c
27
struct expression *size_expr;
usr/src/tools/smatch/src/check_buffer_too_small_for_struct.c
65
static void match_dereferences(struct expression *expr)
usr/src/tools/smatch/src/check_buffer_too_small_for_struct.c
68
struct expression *right;
usr/src/tools/smatch/src/check_buffer_too_small_for_struct.c
71
struct expression *size_expr;
usr/src/tools/smatch/src/check_call_tree.c
22
static void match_call(struct expression *expr)
usr/src/tools/smatch/src/check_capable.c
26
static void match_capable(const char *fn, struct expression *expr, void *_param)
usr/src/tools/smatch/src/check_capable.c
28
struct expression *arg;
usr/src/tools/smatch/src/check_capable.c
39
static void match_ns_capable(const char *fn, struct expression *expr, void *_param)
usr/src/tools/smatch/src/check_capable.c
41
struct expression *arg;
usr/src/tools/smatch/src/check_capable.c
55
static void save_call_info(struct expression *call)
usr/src/tools/smatch/src/check_capable.c
70
static void save_return_info(int return_id, char *return_ranges, struct expression *expr)
usr/src/tools/smatch/src/check_cast_assign.c
24
static struct symbol *get_cast_type(struct expression *expr)
usr/src/tools/smatch/src/check_cast_assign.c
34
static void match_overflow(struct expression *expr)
usr/src/tools/smatch/src/check_cast_assign.c
36
struct expression *ptr;
usr/src/tools/smatch/src/check_check_deref.c
107
static void match_dereferences(struct expression *expr)
usr/src/tools/smatch/src/check_check_deref.c
114
static void match_pointer_as_array(struct expression *expr)
usr/src/tools/smatch/src/check_check_deref.c
121
static void set_param_dereferenced(struct expression *call, struct expression *arg, char *key, char *unused)
usr/src/tools/smatch/src/check_check_deref.c
135
static void match_condition(struct expression *expr)
usr/src/tools/smatch/src/check_check_deref.c
43
static void is_ok(struct sm_state *sm, struct expression *mod_expr)
usr/src/tools/smatch/src/check_check_deref.c
48
static void check_dereference(struct expression *expr)
usr/src/tools/smatch/src/check_cmn_err.c
31
void match_cmn_err(const char *fn, struct expression *expr,
usr/src/tools/smatch/src/check_cmn_err.c
34
struct expression *arg;
usr/src/tools/smatch/src/check_container_of.c
30
static void is_ok(struct sm_state *sm, struct expression *mod_expr)
usr/src/tools/smatch/src/check_container_of.c
35
static void match_non_null(const char *fn, struct expression *expr, void *unused)
usr/src/tools/smatch/src/check_container_of.c
40
static void match_condition(struct expression *expr)
usr/src/tools/smatch/src/check_continue_vs_break.c
93
static void match_inline_start(struct expression *expr)
usr/src/tools/smatch/src/check_continue_vs_break.c
98
static void match_inline_end(struct expression *expr)
usr/src/tools/smatch/src/check_debug.c
101
struct expression *arg_expr;
usr/src/tools/smatch/src/check_debug.c
116
static void match_print_known(const char *fn, struct expression *expr, void *info)
usr/src/tools/smatch/src/check_debug.c
118
struct expression *arg;
usr/src/tools/smatch/src/check_debug.c
135
static void match_print_implied(const char *fn, struct expression *expr, void *info)
usr/src/tools/smatch/src/check_debug.c
137
struct expression *arg;
usr/src/tools/smatch/src/check_debug.c
149
static void match_real_absolute(const char *fn, struct expression *expr, void *info)
usr/src/tools/smatch/src/check_debug.c
151
struct expression *arg;
usr/src/tools/smatch/src/check_debug.c
163
static void match_print_implied_min(const char *fn, struct expression *expr, void *info)
usr/src/tools/smatch/src/check_debug.c
165
struct expression *arg;
usr/src/tools/smatch/src/check_debug.c
180
static void match_print_implied_max(const char *fn, struct expression *expr, void *info)
usr/src/tools/smatch/src/check_debug.c
182
struct expression *arg;
usr/src/tools/smatch/src/check_debug.c
197
static void match_user_rl(const char *fn, struct expression *expr, void *info)
usr/src/tools/smatch/src/check_debug.c
199
struct expression *arg;
usr/src/tools/smatch/src/check_debug.c
218
static void match_capped(const char *fn, struct expression *expr, void *info)
usr/src/tools/smatch/src/check_debug.c
220
struct expression *arg;
usr/src/tools/smatch/src/check_debug.c
229
static void match_print_hard_max(const char *fn, struct expression *expr, void *info)
usr/src/tools/smatch/src/check_debug.c
231
struct expression *arg;
usr/src/tools/smatch/src/check_debug.c
246
static void match_print_fuzzy_max(const char *fn, struct expression *expr, void *info)
usr/src/tools/smatch/src/check_debug.c
248
struct expression *arg;
usr/src/tools/smatch/src/check_debug.c
263
static void match_print_absolute(const char *fn, struct expression *expr, void *info)
usr/src/tools/smatch/src/check_debug.c
265
struct expression *arg;
usr/src/tools/smatch/src/check_debug.c
278
static void match_print_absolute_min(const char *fn, struct expression *expr, void *info)
usr/src/tools/smatch/src/check_debug.c
280
struct expression *arg;
usr/src/tools/smatch/src/check_debug.c
295
static void match_print_absolute_max(const char *fn, struct expression *expr, void *info)
usr/src/tools/smatch/src/check_debug.c
297
struct expression *arg;
usr/src/tools/smatch/src/check_debug.c
309
static void match_sval_info(const char *fn, struct expression *expr, void *info)
usr/src/tools/smatch/src/check_debug.c
311
struct expression *arg;
usr/src/tools/smatch/src/check_debug.c
328
static void match_member_name(const char *fn, struct expression *expr, void *info)
usr/src/tools/smatch/src/check_debug.c
330
struct expression *arg;
usr/src/tools/smatch/src/check_debug.c
34
static void match_all_values(const char *fn, struct expression *expr, void *info)
usr/src/tools/smatch/src/check_debug.c
352
static void match_possible(const char *fn, struct expression *expr, void *info)
usr/src/tools/smatch/src/check_debug.c
356
struct expression *arg_expr;
usr/src/tools/smatch/src/check_debug.c
371
static void match_strlen(const char *fn, struct expression *expr, void *info)
usr/src/tools/smatch/src/check_debug.c
373
struct expression *arg;
usr/src/tools/smatch/src/check_debug.c
385
static void match_buf_size(const char *fn, struct expression *expr, void *info)
usr/src/tools/smatch/src/check_debug.c
387
struct expression *arg, *comp;
usr/src/tools/smatch/src/check_debug.c
418
static void match_note(const char *fn, struct expression *expr, void *info)
usr/src/tools/smatch/src/check_debug.c
420
struct expression *arg_expr;
usr/src/tools/smatch/src/check_debug.c
43
static void match_cur_stree(const char *fn, struct expression *expr, void *info)
usr/src/tools/smatch/src/check_debug.c
445
static void match_dump_related(const char *fn, struct expression *expr, void *info)
usr/src/tools/smatch/src/check_debug.c
456
static void match_compare(const char *fn, struct expression *expr, void *info)
usr/src/tools/smatch/src/check_debug.c
458
struct expression *one, *two;
usr/src/tools/smatch/src/check_debug.c
48
static void match_state(const char *fn, struct expression *expr, void *info)
usr/src/tools/smatch/src/check_debug.c
481
static void match_debug_on(const char *fn, struct expression *expr, void *info)
usr/src/tools/smatch/src/check_debug.c
486
static void match_debug_check(const char *fn, struct expression *expr, void *info)
usr/src/tools/smatch/src/check_debug.c
488
struct expression *arg;
usr/src/tools/smatch/src/check_debug.c
497
static void match_debug_off(const char *fn, struct expression *expr, void *info)
usr/src/tools/smatch/src/check_debug.c
50
struct expression *check_arg, *state_arg;
usr/src/tools/smatch/src/check_debug.c
503
static void match_local_debug_on(const char *fn, struct expression *expr, void *info)
usr/src/tools/smatch/src/check_debug.c
508
static void match_local_debug_off(const char *fn, struct expression *expr, void *info)
usr/src/tools/smatch/src/check_debug.c
513
static void match_debug_db_on(const char *fn, struct expression *expr, void *info)
usr/src/tools/smatch/src/check_debug.c
518
static void match_debug_db_off(const char *fn, struct expression *expr, void *info)
usr/src/tools/smatch/src/check_debug.c
523
static void mtag_info(struct expression *expr)
usr/src/tools/smatch/src/check_debug.c
534
static void match_about(const char *fn, struct expression *expr, void *info)
usr/src/tools/smatch/src/check_debug.c
536
struct expression *arg;
usr/src/tools/smatch/src/check_debug.c
561
static void match_intersection(const char *fn, struct expression *expr, void *info)
usr/src/tools/smatch/src/check_debug.c
563
struct expression *one, *two;
usr/src/tools/smatch/src/check_debug.c
577
static void match_type(const char *fn, struct expression *expr, void *info)
usr/src/tools/smatch/src/check_debug.c
579
struct expression *one;
usr/src/tools/smatch/src/check_debug.c
590
static int match_type_rl_return(struct expression *call, void *unused, struct range_list **rl)
usr/src/tools/smatch/src/check_debug.c
592
struct expression *one, *two;
usr/src/tools/smatch/src/check_debug.c
631
static void match_print_merge_tree(const char *fn, struct expression *expr, void *info)
usr/src/tools/smatch/src/check_debug.c
634
struct expression *arg;
usr/src/tools/smatch/src/check_debug.c
655
static void match_print_stree_id(const char *fn, struct expression *expr, void *info)
usr/src/tools/smatch/src/check_debug.c
660
static void match_bits(const char *fn, struct expression *expr, void *_unused)
usr/src/tools/smatch/src/check_debug.c
662
struct expression *arg;
usr/src/tools/smatch/src/check_debug.c
675
static void match_mtag(const char *fn, struct expression *expr, void *info)
usr/src/tools/smatch/src/check_debug.c
677
struct expression *arg;
usr/src/tools/smatch/src/check_debug.c
689
static void match_mtag_data_offset(const char *fn, struct expression *expr, void *info)
usr/src/tools/smatch/src/check_debug.c
691
struct expression *arg;
usr/src/tools/smatch/src/check_debug.c
703
static void match_container(const char *fn, struct expression *expr, void *info)
usr/src/tools/smatch/src/check_debug.c
705
struct expression *container, *x;
usr/src/tools/smatch/src/check_debug.c
719
static void match_expr(const char *fn, struct expression *expr, void *info)
usr/src/tools/smatch/src/check_debug.c
721
struct expression *arg, *str, *new;
usr/src/tools/smatch/src/check_debug.c
741
static void match_state_count(const char *fn, struct expression *expr, void *info)
usr/src/tools/smatch/src/check_debug.c
746
static void match_mem(const char *fn, struct expression *expr, void *info)
usr/src/tools/smatch/src/check_debug.c
758
static void match_exit(const char *fn, struct expression *expr, void *info)
usr/src/tools/smatch/src/check_debug.c
78
static void match_states(const char *fn, struct expression *expr, void *info)
usr/src/tools/smatch/src/check_debug.c
80
struct expression *check_arg;
usr/src/tools/smatch/src/check_debug.c
97
static void match_print_value(const char *fn, struct expression *expr, void *info)
usr/src/tools/smatch/src/check_deref.c
141
static void match_dereferences(struct expression *expr)
usr/src/tools/smatch/src/check_deref.c
148
static void match_pointer_as_array(struct expression *expr)
usr/src/tools/smatch/src/check_deref.c
155
static void set_param_dereferenced(struct expression *call, struct expression *arg, char *key, char *unused)
usr/src/tools/smatch/src/check_deref.c
185
static void match_assign(struct expression *expr)
usr/src/tools/smatch/src/check_deref.c
204
static void match_assigns_address(struct expression *expr)
usr/src/tools/smatch/src/check_deref.c
206
struct expression *right;
usr/src/tools/smatch/src/check_deref.c
214
static void match_condition(struct expression *expr)
usr/src/tools/smatch/src/check_deref.c
225
static int called_with_no_fail(struct expression *call, int param)
usr/src/tools/smatch/src/check_deref.c
227
struct expression *arg;
usr/src/tools/smatch/src/check_deref.c
241
static void match_assign_returns_null(const char *fn, struct expression *expr, void *_gfp)
usr/src/tools/smatch/src/check_deref.c
59
static void is_ok(struct sm_state *sm, struct expression *mod_expr)
usr/src/tools/smatch/src/check_deref.c
64
static void check_dereference(struct expression *expr)
usr/src/tools/smatch/src/check_deref_check.c
25
static void underef(struct sm_state *sm, struct expression *mod_expr)
usr/src/tools/smatch/src/check_deref_check.c
30
static void match_dereference(struct expression *expr)
usr/src/tools/smatch/src/check_deref_check.c
49
static void set_param_dereferenced(struct expression *call, struct expression *arg, char *key, char *unused)
usr/src/tools/smatch/src/check_deref_check.c
66
static void match_condition(struct expression *expr)
usr/src/tools/smatch/src/check_dereferences_param.c
111
static void match_pointer_as_array(struct expression *expr)
usr/src/tools/smatch/src/check_dereferences_param.c
34
static void set_ignore(struct sm_state *sm, struct expression *mod_expr)
usr/src/tools/smatch/src/check_dereferences_param.c
55
static void check_deref(struct expression *expr)
usr/src/tools/smatch/src/check_dereferences_param.c
57
struct expression *tmp;
usr/src/tools/smatch/src/check_dereferences_param.c
77
static void match_dereference(struct expression *expr)
usr/src/tools/smatch/src/check_dereferences_param.c
84
static void set_param_dereferenced(struct expression *call, struct expression *arg, char *key, char *unused)
usr/src/tools/smatch/src/check_dev_queue_xmit.c
31
static void ok_to_use(struct sm_state *sm, struct expression *mod_expr)
usr/src/tools/smatch/src/check_dev_queue_xmit.c
38
struct expression *tmp;
usr/src/tools/smatch/src/check_dev_queue_xmit.c
60
static void match_symbol(struct expression *expr)
usr/src/tools/smatch/src/check_dev_queue_xmit.c
75
static void match_kfree_skb(const char *fn, struct expression *expr, void *param)
usr/src/tools/smatch/src/check_dev_queue_xmit.c
77
struct expression *arg;
usr/src/tools/smatch/src/check_dev_queue_xmit.c
85
static void match_xmit(const char *fn, struct expression *expr, void *param)
usr/src/tools/smatch/src/check_dev_queue_xmit.c
87
struct expression *arg;
usr/src/tools/smatch/src/check_dma_mapping_error.c
27
static void ok_to_use(struct sm_state *sm, struct expression *mod_expr)
usr/src/tools/smatch/src/check_dma_mapping_error.c
33
static void match_assign(const char *fn, struct expression *expr, void *unused)
usr/src/tools/smatch/src/check_dma_mapping_error.c
44
static void match_condition(struct expression *expr)
usr/src/tools/smatch/src/check_dma_mapping_error.c
52
static void match_return(struct expression *ret_value)
usr/src/tools/smatch/src/check_dma_on_stack.c
22
static void match_dma_func(const char *fn, struct expression *expr, void *param)
usr/src/tools/smatch/src/check_dma_on_stack.c
24
struct expression *arg;
usr/src/tools/smatch/src/check_double_checking.c
167
static void match_condition(struct expression *expr)
usr/src/tools/smatch/src/check_double_checking.c
185
if (get_macro_name(((struct expression *)state->data)->pos))
usr/src/tools/smatch/src/check_double_checking.c
35
static void set_modified(struct sm_state *sm, struct expression *mod_expr)
usr/src/tools/smatch/src/check_double_checking.c
40
static struct expression *strip_condition(struct expression *expr)
usr/src/tools/smatch/src/check_double_checking.c
59
static int conditions_match(struct expression *cond, struct expression *prev)
usr/src/tools/smatch/src/check_double_checking.c
79
static int is_obvious_else(struct expression *cond)
usr/src/tools/smatch/src/check_double_checking.c
82
struct expression *prev;
usr/src/tools/smatch/src/check_err_ptr.c
26
static void match_err_ptr(struct expression *expr)
usr/src/tools/smatch/src/check_err_ptr.c
40
static void match_return(struct expression *ret_value)
usr/src/tools/smatch/src/check_err_ptr.c
53
match_err_ptr((struct expression *)tmp->state->data);
usr/src/tools/smatch/src/check_err_ptr_deref.c
100
static void match_checked(const char *fn, struct expression *call_expr,
usr/src/tools/smatch/src/check_err_ptr_deref.c
101
struct expression *assign_expr, void *unused)
usr/src/tools/smatch/src/check_err_ptr_deref.c
103
struct expression *arg;
usr/src/tools/smatch/src/check_err_ptr_deref.c
112
static void match_err(const char *fn, struct expression *call_expr,
usr/src/tools/smatch/src/check_err_ptr_deref.c
113
struct expression *assign_expr, void *unused)
usr/src/tools/smatch/src/check_err_ptr_deref.c
115
struct expression *arg;
usr/src/tools/smatch/src/check_err_ptr_deref.c
124
static void match_dereferences(struct expression *expr)
usr/src/tools/smatch/src/check_err_ptr_deref.c
131
static void match_kfree(const char *fn, struct expression *expr, void *_arg_nr)
usr/src/tools/smatch/src/check_err_ptr_deref.c
134
struct expression *arg;
usr/src/tools/smatch/src/check_err_ptr_deref.c
140
static void match_condition(struct expression *expr)
usr/src/tools/smatch/src/check_err_ptr_deref.c
173
static void match_err_ptr_positive_const(const char *fn, struct expression *expr, void *unused)
usr/src/tools/smatch/src/check_err_ptr_deref.c
175
struct expression *arg;
usr/src/tools/smatch/src/check_err_ptr_deref.c
186
static void match_err_ptr(const char *fn, struct expression *expr, void *unused)
usr/src/tools/smatch/src/check_err_ptr_deref.c
188
struct expression *arg;
usr/src/tools/smatch/src/check_err_ptr_deref.c
39
static void ok_to_use(struct sm_state *sm, struct expression *mod_expr)
usr/src/tools/smatch/src/check_err_ptr_deref.c
45
static void check_is_err_ptr(struct expression *expr)
usr/src/tools/smatch/src/check_err_ptr_deref.c
65
static void match_returns_err_ptr(const char *fn, struct expression *expr,
usr/src/tools/smatch/src/check_err_ptr_deref.c
71
static void set_param_dereferenced(struct expression *call, struct expression *arg, char *key, char *unused)
usr/src/tools/smatch/src/check_expects_err_ptr.c
26
static void set_ok(struct sm_state *sm, struct expression *mod_expr)
usr/src/tools/smatch/src/check_expects_err_ptr.c
45
static int get_arg_num(struct expression *expr)
usr/src/tools/smatch/src/check_expects_err_ptr.c
71
static void match_is_err(const char *fn, struct expression *expr, void *unused)
usr/src/tools/smatch/src/check_expects_err_ptr.c
73
struct expression *arg;
usr/src/tools/smatch/src/check_free.c
102
static void set_ignored_params(struct expression *call)
usr/src/tools/smatch/src/check_free.c
104
struct expression *arg;
usr/src/tools/smatch/src/check_free.c
141
static int is_free_func(struct expression *fn)
usr/src/tools/smatch/src/check_free.c
156
static void match_call(struct expression *expr)
usr/src/tools/smatch/src/check_free.c
158
struct expression *arg;
usr/src/tools/smatch/src/check_free.c
187
static void match_return(struct expression *expr)
usr/src/tools/smatch/src/check_free.c
207
static void match_free(const char *fn, struct expression *expr, void *param)
usr/src/tools/smatch/src/check_free.c
209
struct expression *arg;
usr/src/tools/smatch/src/check_free.c
226
static void set_param_freed(struct expression *call, struct expression *arg, char *key, char *unused)
usr/src/tools/smatch/src/check_free.c
266
int parent_is_free(struct expression *expr)
usr/src/tools/smatch/src/check_free.c
33
static void ok_to_use(struct sm_state *sm, struct expression *mod_expr)
usr/src/tools/smatch/src/check_free.c
45
static int is_freed(struct expression *expr)
usr/src/tools/smatch/src/check_free.c
55
static void match_symbol(struct expression *expr)
usr/src/tools/smatch/src/check_free.c
57
struct expression *parent;
usr/src/tools/smatch/src/check_free.c
78
static void match_dereferences(struct expression *expr)
usr/src/tools/smatch/src/check_free_strict.c
118
static void set_ignored_params(struct expression *call)
usr/src/tools/smatch/src/check_free_strict.c
120
struct expression *arg;
usr/src/tools/smatch/src/check_free_strict.c
157
static int is_free_func(struct expression *fn)
usr/src/tools/smatch/src/check_free_strict.c
172
static void match_call(struct expression *expr)
usr/src/tools/smatch/src/check_free_strict.c
174
struct expression *arg;
usr/src/tools/smatch/src/check_free_strict.c
203
static void match_return(struct expression *expr)
usr/src/tools/smatch/src/check_free_strict.c
221
static void match_free(const char *fn, struct expression *expr, void *param)
usr/src/tools/smatch/src/check_free_strict.c
223
struct expression *arg;
usr/src/tools/smatch/src/check_free_strict.c
240
static void set_param_freed(struct expression *expr, int param, char *key, char *value)
usr/src/tools/smatch/src/check_free_strict.c
242
struct expression *arg;
usr/src/tools/smatch/src/check_free_strict.c
295
int parent_is_free_strict(struct expression *expr)
usr/src/tools/smatch/src/check_free_strict.c
311
static void match_untracked(struct expression *call, int param)
usr/src/tools/smatch/src/check_free_strict.c
314
struct expression *arg;
usr/src/tools/smatch/src/check_free_strict.c
33
static void ok_to_use(struct sm_state *sm, struct expression *mod_expr)
usr/src/tools/smatch/src/check_free_strict.c
62
static int is_freed(struct expression *expr)
usr/src/tools/smatch/src/check_free_strict.c
72
static void match_symbol(struct expression *expr)
usr/src/tools/smatch/src/check_free_strict.c
74
struct expression *parent;
usr/src/tools/smatch/src/check_free_strict.c
95
static void match_dereferences(struct expression *expr)
usr/src/tools/smatch/src/check_freeing_devm.c
24
static void match_assign(const char *fn, struct expression *expr, void *unused)
usr/src/tools/smatch/src/check_freeing_devm.c
29
static void match_free_func(const char *fn, struct expression *expr, void *_arg)
usr/src/tools/smatch/src/check_freeing_devm.c
31
struct expression *arg_expr;
usr/src/tools/smatch/src/check_freeing_null.c
22
static void match_free(const char *fn, struct expression *expr, void *data)
usr/src/tools/smatch/src/check_freeing_null.c
24
struct expression *arg_expr;
usr/src/tools/smatch/src/check_frees_argument.c
51
static void match_kfree(const char *fn, struct expression *expr, void *info)
usr/src/tools/smatch/src/check_frees_argument.c
53
struct expression *tmp;
usr/src/tools/smatch/src/check_frees_argument.c
67
static void match_return(struct expression *ret_value)
usr/src/tools/smatch/src/check_frees_param.c
33
static void set_ignore(struct sm_state *sm, struct expression *mod_expr)
usr/src/tools/smatch/src/check_frees_param.c
38
static void freed_variable(struct expression *expr)
usr/src/tools/smatch/src/check_frees_param.c
52
static void match_free(const char *fn, struct expression *expr, void *param)
usr/src/tools/smatch/src/check_frees_param.c
54
struct expression *arg;
usr/src/tools/smatch/src/check_frees_param.c
62
static void set_param_freed(struct expression *call, struct expression *arg, char *key, char *unused)
usr/src/tools/smatch/src/check_frees_param_strict.c
117
static void param_freed_info(int return_id, char *return_ranges, struct expression *expr)
usr/src/tools/smatch/src/check_frees_param_strict.c
42
static void set_ignore(struct sm_state *sm, struct expression *mod_expr)
usr/src/tools/smatch/src/check_frees_param_strict.c
47
static int counter_was_inced(struct expression *expr)
usr/src/tools/smatch/src/check_frees_param_strict.c
65
static void match_free(const char *fn, struct expression *expr, void *param)
usr/src/tools/smatch/src/check_frees_param_strict.c
67
struct expression *arg, *tmp;
usr/src/tools/smatch/src/check_frees_param_strict.c
89
static void set_param_freed(struct expression *expr, int param, char *key, char *value)
usr/src/tools/smatch/src/check_frees_param_strict.c
91
struct expression *arg;
usr/src/tools/smatch/src/check_get_user_overflow.c
101
static void match_assign(struct expression *expr)
usr/src/tools/smatch/src/check_get_user_overflow.c
119
static void check_expr(struct expression *expr)
usr/src/tools/smatch/src/check_get_user_overflow.c
158
static void match_binop(struct expression *expr)
usr/src/tools/smatch/src/check_get_user_overflow.c
33
static void match_condition(struct expression *expr)
usr/src/tools/smatch/src/check_get_user_overflow.c
93
static void match_normal_assign(struct expression *expr)
usr/src/tools/smatch/src/check_gfp_dma.c
29
static void match_alloc(const char *fn, struct expression *expr, void *_arg)
usr/src/tools/smatch/src/check_gfp_dma.c
32
struct expression *arg_expr;
usr/src/tools/smatch/src/check_held_dev.c
36
static void match_dev_hold(const char *fn, struct expression *expr, void *data)
usr/src/tools/smatch/src/check_held_dev.c
38
struct expression *arg_expr;
usr/src/tools/smatch/src/check_held_dev.c
44
static void match_dev_put(const char *fn, struct expression *expr, void *data)
usr/src/tools/smatch/src/check_held_dev.c
46
struct expression *arg_expr;
usr/src/tools/smatch/src/check_held_dev.c
52
static void match_returns_held(const char *fn, struct expression *call_expr,
usr/src/tools/smatch/src/check_held_dev.c
53
struct expression *assign_expr, void *unused)
usr/src/tools/smatch/src/check_held_dev.c
59
static void match_returns_null(const char *fn, struct expression *call_expr,
usr/src/tools/smatch/src/check_held_dev.c
60
struct expression *assign_expr, void *unused)
usr/src/tools/smatch/src/check_held_dev.c
80
static void print_returns_held(struct expression *expr)
usr/src/tools/smatch/src/check_held_dev.c
93
static void match_return(struct expression *ret_value)
usr/src/tools/smatch/src/check_implicit_dependencies.c
146
static void print_read_member_type(struct expression *expr)
usr/src/tools/smatch/src/check_implicit_dependencies.c
181
static void print_write_member_type(struct expression *expr)
usr/src/tools/smatch/src/check_implicit_dependencies.c
213
static void match_condition(struct expression *expr)
usr/src/tools/smatch/src/check_implicit_dependencies.c
215
struct expression *arg;
usr/src/tools/smatch/src/check_implicit_dependencies.c
249
static void match_call_info(struct expression *expr)
usr/src/tools/smatch/src/check_implicit_dependencies.c
251
struct expression *arg;
usr/src/tools/smatch/src/check_implicit_dependencies.c
270
static void match_assign_value(struct expression *expr)
usr/src/tools/smatch/src/check_implicit_dependencies.c
277
static void unop_expr(struct expression *expr)
usr/src/tools/smatch/src/check_implicit_dependencies_tester.c
111
static void match_condition(struct expression *expr) {
usr/src/tools/smatch/src/check_implicit_dependencies_tester.c
149
static void match_function_call(struct expression *expr) {
usr/src/tools/smatch/src/check_implicit_dependencies_tester.c
98
static void print_member_type(struct expression *expr)
usr/src/tools/smatch/src/check_impossible_mask.c
23
static unsigned long long find_possible_bits(struct expression *expr)
usr/src/tools/smatch/src/check_impossible_mask.c
64
static unsigned long long get_possible_bits(struct expression *expr)
usr/src/tools/smatch/src/check_impossible_mask.c
79
static void match_condition(struct expression *expr)
usr/src/tools/smatch/src/check_indenting.c
126
if (stmt->type == STMT_EXPRESSION && !stmt->expression)
usr/src/tools/smatch/src/check_indenting.c
128
if (__prev_stmt->type == STMT_EXPRESSION && !__prev_stmt->expression)
usr/src/tools/smatch/src/check_index_overflow.c
105
static int common_false_positives(struct expression *array, sval_t max)
usr/src/tools/smatch/src/check_index_overflow.c
163
static int is_subtract(struct expression *expr)
usr/src/tools/smatch/src/check_index_overflow.c
165
struct expression *tmp;
usr/src/tools/smatch/src/check_index_overflow.c
180
static int constraint_met(struct expression *array_expr, struct expression *offset)
usr/src/tools/smatch/src/check_index_overflow.c
205
static int should_warn(struct expression *expr)
usr/src/tools/smatch/src/check_index_overflow.c
207
struct expression *array_expr;
usr/src/tools/smatch/src/check_index_overflow.c
212
struct expression *offset;
usr/src/tools/smatch/src/check_index_overflow.c
255
static int is_because_of_no_break(struct expression *offset)
usr/src/tools/smatch/src/check_index_overflow.c
262
static void array_check(struct expression *expr)
usr/src/tools/smatch/src/check_index_overflow.c
264
struct expression *array_expr;
usr/src/tools/smatch/src/check_index_overflow.c
270
struct expression *array_size_value, *comparison;
usr/src/tools/smatch/src/check_index_overflow.c
271
struct expression *offset;
usr/src/tools/smatch/src/check_index_overflow.c
28
static int definitely_just_used_as_limiter(struct expression *array, struct expression *offset)
usr/src/tools/smatch/src/check_index_overflow.c
31
struct expression *tmp;
usr/src/tools/smatch/src/check_index_overflow.c
338
static void match_condition(struct expression *expr)
usr/src/tools/smatch/src/check_index_overflow.c
354
static void set_undefined(struct sm_state *sm, struct expression *mod_expr)
usr/src/tools/smatch/src/check_index_overflow.c
47
static int fake_get_hard_max(struct expression *expr, sval_t *sval)
usr/src/tools/smatch/src/check_index_overflow.c
69
static int get_the_max(struct expression *expr, sval_t *sval)
usr/src/tools/smatch/src/check_info_leak.c
26
static char *my_get_variable(struct expression *expr, struct symbol **sym)
usr/src/tools/smatch/src/check_info_leak.c
38
static void match_kmalloc(const char *fn, struct expression *expr, void *unused)
usr/src/tools/smatch/src/check_info_leak.c
49
static void match_strcpy(const char *fn, struct expression *expr, void *unused)
usr/src/tools/smatch/src/check_info_leak.c
51
struct expression *dest;
usr/src/tools/smatch/src/check_info_leak.c
64
static void match_copy_to_user(const char *fn, struct expression *expr, void *unused)
usr/src/tools/smatch/src/check_info_leak.c
66
struct expression *src;
usr/src/tools/smatch/src/check_input_free_device.c
32
static void match_assign(struct expression *expr)
usr/src/tools/smatch/src/check_input_free_device.c
39
static void match_input_unregister(const char *fn, struct expression *expr, void *data)
usr/src/tools/smatch/src/check_input_free_device.c
41
struct expression *arg;
usr/src/tools/smatch/src/check_input_free_device.c
47
static void match_input_free(const char *fn, struct expression *expr, void *data)
usr/src/tools/smatch/src/check_input_free_device.c
49
struct expression *arg;
usr/src/tools/smatch/src/check_kernel.c
102
static void match_param_err_or_null(const char *fn, struct expression *call_expr,
usr/src/tools/smatch/src/check_kernel.c
103
struct expression *assign_expr, void *_param)
usr/src/tools/smatch/src/check_kernel.c
106
struct expression *arg;
usr/src/tools/smatch/src/check_kernel.c
124
static void match_not_err(const char *fn, struct expression *call_expr,
usr/src/tools/smatch/src/check_kernel.c
125
struct expression *assign_expr, void *unused)
usr/src/tools/smatch/src/check_kernel.c
127
struct expression *arg;
usr/src/tools/smatch/src/check_kernel.c
140
static void match_err(const char *fn, struct expression *call_expr,
usr/src/tools/smatch/src/check_kernel.c
141
struct expression *assign_expr, void *unused)
usr/src/tools/smatch/src/check_kernel.c
143
struct expression *arg;
usr/src/tools/smatch/src/check_kernel.c
165
static void match_container_of_macro(const char *fn, struct expression *expr, void *unused)
usr/src/tools/smatch/src/check_kernel.c
170
static void match_container_of(struct expression *expr)
usr/src/tools/smatch/src/check_kernel.c
172
struct expression *right = expr->right;
usr/src/tools/smatch/src/check_kernel.c
205
static int match_next_bit(struct expression *call, void *unused, struct range_list **rl)
usr/src/tools/smatch/src/check_kernel.c
207
struct expression *start_arg;
usr/src/tools/smatch/src/check_kernel.c
208
struct expression *size_arg;
usr/src/tools/smatch/src/check_kernel.c
232
static int match_fls(struct expression *call, void *unused, struct range_list **rl)
usr/src/tools/smatch/src/check_kernel.c
234
struct expression *arg;
usr/src/tools/smatch/src/check_kernel.c
30
static int implied_err_cast_return(struct expression *call, void *unused, struct range_list **rl)
usr/src/tools/smatch/src/check_kernel.c
32
struct expression *arg;
usr/src/tools/smatch/src/check_kernel.c
334
static struct expression *get_val_expr(struct expression *expr)
usr/src/tools/smatch/src/check_kernel.c
352
static void match__write_once_size(const char *fn, struct expression *call,
usr/src/tools/smatch/src/check_kernel.c
355
struct expression *dest, *data, *assign;
usr/src/tools/smatch/src/check_kernel.c
375
static void match__read_once_size(const char *fn, struct expression *call,
usr/src/tools/smatch/src/check_kernel.c
378
struct expression *dest, *data, *assign;
usr/src/tools/smatch/src/check_kernel.c
412
static void match_closure_call(const char *name, struct expression *call,
usr/src/tools/smatch/src/check_kernel.c
415
struct expression *cl, *fn, *fake_call;
usr/src/tools/smatch/src/check_kernel.c
80
static void match_param_valid_ptr(const char *fn, struct expression *call_expr,
usr/src/tools/smatch/src/check_kernel.c
81
struct expression *assign_expr, void *_param)
usr/src/tools/smatch/src/check_kernel.c
84
struct expression *arg;
usr/src/tools/smatch/src/check_kernel_printf.c
1001
do_check_printf_call(const char *caller, const char *name, struct expression *callexpr, struct expression *fmtexpr, int vaidx)
usr/src/tools/smatch/src/check_kernel_printf.c
1052
struct expression *arg;
usr/src/tools/smatch/src/check_kernel_printf.c
1163
check_printf_call(const char *name, struct expression *callexpr, void *_info)
usr/src/tools/smatch/src/check_kernel_printf.c
1172
struct expression *fmtexpr;
usr/src/tools/smatch/src/check_kernel_printf.c
663
pointer(const char *fmt, struct expression *arg, int vaidx)
usr/src/tools/smatch/src/check_kernel_printf.c
808
hexbyte(const char *fmt, int fmt_len, struct expression *arg, int vaidx, struct printf_spec spec)
usr/src/tools/smatch/src/check_kernel_printf.c
883
static int arg_is___func__(struct expression *arg)
usr/src/tools/smatch/src/check_kernel_printf.c
891
static int arg_contains_caller(struct expression *arg, const char *caller)
usr/src/tools/smatch/src/check_kernel_printf.c
928
static int unknown_format(struct expression *expr)
usr/src/tools/smatch/src/check_kernel_printf.c
968
is_cast_expr(struct expression *expr)
usr/src/tools/smatch/src/check_kernel_printf.c
984
check_cast_from_pointer(const char *fmt, int len, struct expression *arg, int va_idx)
usr/src/tools/smatch/src/check_kmalloc_to_bugon.c
24
static int is_kmalloc_call(struct expression *expr)
usr/src/tools/smatch/src/check_kmalloc_to_bugon.c
37
static void match_condition(struct expression *expr)
usr/src/tools/smatch/src/check_kmalloc_to_bugon.c
41
struct expression *right;
usr/src/tools/smatch/src/check_kmalloc_to_bugon.c
50
right = (struct expression *)state->data;
usr/src/tools/smatch/src/check_kmalloc_wrong_size.c
22
static int get_data_size(struct expression *ptr)
usr/src/tools/smatch/src/check_kmalloc_wrong_size.c
35
static void check_size_matches(int data_size, struct expression *size_expr)
usr/src/tools/smatch/src/check_kmalloc_wrong_size.c
48
static void match_alloc(const char *fn, struct expression *expr, void *unused)
usr/src/tools/smatch/src/check_kmalloc_wrong_size.c
50
struct expression *call = strip_expr(expr->right);
usr/src/tools/smatch/src/check_kmalloc_wrong_size.c
51
struct expression *arg;
usr/src/tools/smatch/src/check_kmalloc_wrong_size.c
68
static void match_calloc(const char *fn, struct expression *expr, void *_arg_nr)
usr/src/tools/smatch/src/check_kmalloc_wrong_size.c
71
struct expression *call = strip_expr(expr->right);
usr/src/tools/smatch/src/check_kmalloc_wrong_size.c
72
struct expression *arg;
usr/src/tools/smatch/src/check_kunmap.c
28
struct expression *expr = (struct expression *)data;
usr/src/tools/smatch/src/check_kunmap.c
43
static void match_kmap_atomic(const char *fn, struct expression *expr, void *data)
usr/src/tools/smatch/src/check_kunmap.c
45
struct expression *arg;
usr/src/tools/smatch/src/check_kunmap.c
51
static void match_kunmap_atomic(const char *fn, struct expression *expr, void *data)
usr/src/tools/smatch/src/check_kunmap.c
53
struct expression *arg;
usr/src/tools/smatch/src/check_kunmap.c
64
static void match_kunmap(const char *fn, struct expression *expr, void *data)
usr/src/tools/smatch/src/check_kunmap.c
66
struct expression *arg;
usr/src/tools/smatch/src/check_leaks.c
100
static int is_param(struct expression *expr)
usr/src/tools/smatch/src/check_leaks.c
122
static void match_alloc(const char *fn, struct expression *expr, void *unused)
usr/src/tools/smatch/src/check_leaks.c
133
static void match_condition(struct expression *expr)
usr/src/tools/smatch/src/check_leaks.c
156
static void set_parent(struct expression *expr, struct smatch_state *state)
usr/src/tools/smatch/src/check_leaks.c
181
static void match_function_call(struct expression *expr)
usr/src/tools/smatch/src/check_leaks.c
183
struct expression *tmp;
usr/src/tools/smatch/src/check_leaks.c
190
static void warn_if_allocated(struct expression *expr)
usr/src/tools/smatch/src/check_leaks.c
213
static void match_assign(struct expression *expr)
usr/src/tools/smatch/src/check_leaks.c
215
struct expression *right;
usr/src/tools/smatch/src/check_leaks.c
239
static void match_return(struct expression *ret_value)
usr/src/tools/smatch/src/check_leaks.c
47
static void set_parent(struct expression *expr, struct smatch_state *state);
usr/src/tools/smatch/src/check_leaks.c
68
static char *get_parent_from_expr(struct expression *expr, struct symbol **sym)
usr/src/tools/smatch/src/check_leaks.c
83
static int is_local(struct expression *expr)
usr/src/tools/smatch/src/check_locking.c
1110
static void db_param_locked_unlocked(struct expression *expr, int param, char *key, char *value, enum action lock_unlock)
usr/src/tools/smatch/src/check_locking.c
1112
struct expression *call, *arg;
usr/src/tools/smatch/src/check_locking.c
1155
static void db_param_locked(struct expression *expr, int param, char *key, char *value)
usr/src/tools/smatch/src/check_locking.c
1160
static void db_param_unlocked(struct expression *expr, int param, char *key, char *value)
usr/src/tools/smatch/src/check_locking.c
1165
static void db_param_restore(struct expression *expr, int param, char *key, char *value)
usr/src/tools/smatch/src/check_locking.c
1170
static int get_caller_param_lock_name(struct expression *call, struct sm_state *sm, const char **name)
usr/src/tools/smatch/src/check_locking.c
1172
struct expression *arg;
usr/src/tools/smatch/src/check_locking.c
1190
static void match_call_info(struct expression *expr)
usr/src/tools/smatch/src/check_locking.c
1211
static void match_save_states(struct expression *expr)
usr/src/tools/smatch/src/check_locking.c
1217
static void match_restore_states(struct expression *expr)
usr/src/tools/smatch/src/check_locking.c
1227
static void match_dma_resv_lock_NULL(const char *fn, struct expression *call_expr,
usr/src/tools/smatch/src/check_locking.c
1228
struct expression *assign_expr, void *_index)
usr/src/tools/smatch/src/check_locking.c
1230
struct expression *lock, *ctx;
usr/src/tools/smatch/src/check_locking.c
436
static void reset(struct sm_state *sm, struct expression *mod_expr)
usr/src/tools/smatch/src/check_locking.c
441
static struct expression *remove_spinlock_check(struct expression *expr)
usr/src/tools/smatch/src/check_locking.c
453
static struct expression *filter_kernel_args(struct expression *arg)
usr/src/tools/smatch/src/check_locking.c
462
static char *lock_to_name_sym(struct expression *expr, struct symbol **sym)
usr/src/tools/smatch/src/check_locking.c
469
static char *get_full_name(struct expression *expr, int index, struct symbol **sym)
usr/src/tools/smatch/src/check_locking.c
472
struct expression *arg;
usr/src/tools/smatch/src/check_locking.c
637
struct expression *expr, *arg;
usr/src/tools/smatch/src/check_locking.c
747
static void match_lock_held(const char *fn, struct expression *call_expr,
usr/src/tools/smatch/src/check_locking.c
748
struct expression *assign_expr, void *_index)
usr/src/tools/smatch/src/check_locking.c
770
static void match_lock_failed(const char *fn, struct expression *call_expr,
usr/src/tools/smatch/src/check_locking.c
771
struct expression *assign_expr, void *_index)
usr/src/tools/smatch/src/check_locking.c
793
static void match_returns_locked(const char *fn, struct expression *expr,
usr/src/tools/smatch/src/check_locking.c
809
static void match_lock_unlock(const char *fn, struct expression *expr, void *_index)
usr/src/tools/smatch/src/check_locking.c
843
static int get_param_lock_name(struct sm_state *sm, struct expression *expr,
usr/src/tools/smatch/src/check_locking.c
909
static void match_return_info(int return_id, char *return_ranges, struct expression *expr)
usr/src/tools/smatch/src/check_locking.c
983
static bool func_in_lock_table(struct expression *expr)
usr/src/tools/smatch/src/check_logical_instead_of_bitwise.c
23
static int is_bitshift(struct expression *expr)
usr/src/tools/smatch/src/check_logical_instead_of_bitwise.c
34
static void match_logic(struct expression *expr)
usr/src/tools/smatch/src/check_logical_instead_of_bitwise.c
55
static void match_assign(struct expression *expr)
usr/src/tools/smatch/src/check_logical_instead_of_bitwise.c
57
struct expression *right;
usr/src/tools/smatch/src/check_macro_side_effects.c
28
static struct smatch_state *alloc_my_state(struct expression *expr)
usr/src/tools/smatch/src/check_macro_side_effects.c
45
static int defined_inside_macro(struct position macro_pos, struct expression *expr)
usr/src/tools/smatch/src/check_macro_side_effects.c
63
static int affected_inside_macro_before(struct expression *expr)
usr/src/tools/smatch/src/check_macro_side_effects.c
67
struct expression *old_mod;
usr/src/tools/smatch/src/check_macro_side_effects.c
94
static void match_unop(struct expression *raw_expr)
usr/src/tools/smatch/src/check_macro_side_effects.c
96
struct expression *expr;
usr/src/tools/smatch/src/check_macros.c
22
static void match_inside(struct expression *expr, struct position pos)
usr/src/tools/smatch/src/check_macros.c
39
static void match_one_side(struct expression *expr, struct position pos, int op)
usr/src/tools/smatch/src/check_macros.c
60
static void match_join(struct expression *expr)
usr/src/tools/smatch/src/check_memcpy_overflow.c
132
static int ends_on_struct_member_boundary(struct expression *expr, int needed)
usr/src/tools/smatch/src/check_memcpy_overflow.c
154
struct expression *unop = strip_expr(expr->unop);
usr/src/tools/smatch/src/check_memcpy_overflow.c
194
static int is_one_element_array(struct expression *expr)
usr/src/tools/smatch/src/check_memcpy_overflow.c
218
static int is_ignored_struct(struct expression *expr)
usr/src/tools/smatch/src/check_memcpy_overflow.c
236
static void match_limited(const char *fn, struct expression *expr, void *_limiter)
usr/src/tools/smatch/src/check_memcpy_overflow.c
239
struct expression *dest;
usr/src/tools/smatch/src/check_memcpy_overflow.c
240
struct expression *limit;
usr/src/tools/smatch/src/check_memcpy_overflow.c
33
static int get_the_max(struct expression *expr, sval_t *sval)
usr/src/tools/smatch/src/check_memcpy_overflow.c
49
static int bytes_to_end_of_struct(struct expression *expr)
usr/src/tools/smatch/src/check_memcpy_overflow.c
51
struct expression *deref;
usr/src/tools/smatch/src/check_memcpy_overflow.c
79
static int size_of_union(struct expression *expr)
usr/src/tools/smatch/src/check_memcpy_overflow.c
95
static int is_likely_multiple(int has, int needed, struct expression *limit)
usr/src/tools/smatch/src/check_memset.c
22
static void check_size_not_zero(struct expression *expr)
usr/src/tools/smatch/src/check_memset.c
35
static void check_size_not_ARRAY_SIZE(struct expression *expr)
usr/src/tools/smatch/src/check_memset.c
44
static void match_memset(const char *fn, struct expression *expr, void *data)
usr/src/tools/smatch/src/check_memset.c
46
struct expression *arg_expr;
usr/src/tools/smatch/src/check_min_t.c
22
static void match_assign(struct expression *expr)
usr/src/tools/smatch/src/check_missing_break.c
117
struct expression *switch_expr;
usr/src/tools/smatch/src/check_missing_break.c
28
static struct expression *skip_this;
usr/src/tools/smatch/src/check_missing_break.c
50
static struct smatch_state *alloc_my_state(struct expression *expr)
usr/src/tools/smatch/src/check_missing_break.c
66
struct expression *last_print_expr;
usr/src/tools/smatch/src/check_missing_break.c
67
static void print_missing_break(struct expression *expr)
usr/src/tools/smatch/src/check_missing_break.c
80
static void match_assign(struct expression *expr)
usr/src/tools/smatch/src/check_missing_break.c
82
struct expression *left;
usr/src/tools/smatch/src/check_missing_break.c
96
static void match_symbol(struct expression *expr)
usr/src/tools/smatch/src/check_mod_timer.c
23
static void match_mod_timer(const char *fn, struct expression *expr, void *param)
usr/src/tools/smatch/src/check_mod_timer.c
25
struct expression *arg;
usr/src/tools/smatch/src/check_no_effect.c
24
struct expression *expr;
usr/src/tools/smatch/src/check_no_effect.c
28
expr = stmt->expression;
usr/src/tools/smatch/src/check_no_return.c
24
static void match_return(struct expression *ret_value)
usr/src/tools/smatch/src/check_nospec.c
144
static void db_returns_nospec(struct expression *expr, int param, char *key, char *value)
usr/src/tools/smatch/src/check_nospec.c
146
struct expression *call;
usr/src/tools/smatch/src/check_nospec.c
147
struct expression *arg;
usr/src/tools/smatch/src/check_nospec.c
238
static void db_returns_barrier(struct expression *expr, int param, char *key, char *value)
usr/src/tools/smatch/src/check_nospec.c
243
static void select_return_stmt_cnt(struct expression *expr, int param, char *key, char *value)
usr/src/tools/smatch/src/check_nospec.c
40
bool is_nospec(struct expression *expr)
usr/src/tools/smatch/src/check_nospec.c
56
static void nospec_assign(struct expression *expr)
usr/src/tools/smatch/src/check_nospec.c
76
static void match_call_info(struct expression *expr)
usr/src/tools/smatch/src/check_nospec.c
78
struct expression *arg;
usr/src/tools/smatch/src/check_nospec.c
88
static void struct_member_callback(struct expression *call, int param, char *printed_name, struct sm_state *sm)
usr/src/tools/smatch/src/check_nospec.c
97
static void returned_struct_members(int return_id, char *return_ranges, struct expression *expr)
usr/src/tools/smatch/src/check_off_by_one_relative.c
30
static void array_check(struct expression *expr)
usr/src/tools/smatch/src/check_off_by_one_relative.c
32
struct expression *array;
usr/src/tools/smatch/src/check_off_by_one_relative.c
33
struct expression *size;
usr/src/tools/smatch/src/check_off_by_one_relative.c
34
struct expression *offset;
usr/src/tools/smatch/src/check_off_by_one_relative.c
60
static int known_access_ok_numbers(struct expression *expr)
usr/src/tools/smatch/src/check_off_by_one_relative.c
62
struct expression *array;
usr/src/tools/smatch/src/check_off_by_one_relative.c
63
struct expression *offset;
usr/src/tools/smatch/src/check_off_by_one_relative.c
80
static void array_check_data_info(struct expression *expr)
usr/src/tools/smatch/src/check_off_by_one_relative.c
82
struct expression *array;
usr/src/tools/smatch/src/check_off_by_one_relative.c
83
struct expression *offset;
usr/src/tools/smatch/src/check_or_vs_and.c
100
struct expression *left, *right;
usr/src/tools/smatch/src/check_or_vs_and.c
118
static void match_logic(struct expression *expr)
usr/src/tools/smatch/src/check_or_vs_and.c
129
static int is_unconstant_macro(struct expression *expr)
usr/src/tools/smatch/src/check_or_vs_and.c
141
static void match_condition(struct expression *expr)
usr/src/tools/smatch/src/check_or_vs_and.c
166
static void match_binop(struct expression *expr)
usr/src/tools/smatch/src/check_or_vs_and.c
25
static int does_inc_dec(struct expression *expr)
usr/src/tools/smatch/src/check_or_vs_and.c
35
static int expr_equiv_no_inc_dec(struct expression *one, struct expression *two)
usr/src/tools/smatch/src/check_or_vs_and.c
42
static int inconsistent_check(struct expression *left, struct expression *right)
usr/src/tools/smatch/src/check_or_vs_and.c
64
static void check_or(struct expression *expr)
usr/src/tools/smatch/src/check_or_vs_and.c
66
struct expression *left, *right;
usr/src/tools/smatch/src/check_or_vs_and.c
81
static int is_kernel_min_macro(struct expression *expr)
usr/src/tools/smatch/src/check_or_vs_and.c
98
static void check_and(struct expression *expr)
usr/src/tools/smatch/src/check_param_mapper.c
36
static void match_call(struct expression *expr)
usr/src/tools/smatch/src/check_param_mapper.c
38
struct expression *tmp;
usr/src/tools/smatch/src/check_passes_sizeof.c
26
static struct expression *get_returned_expr(struct expression *expr)
usr/src/tools/smatch/src/check_passes_sizeof.c
31
if (!stmt || stmt->type != STMT_EXPRESSION || !stmt->expression)
usr/src/tools/smatch/src/check_passes_sizeof.c
33
if (stmt->expression->type != EXPR_ASSIGNMENT)
usr/src/tools/smatch/src/check_passes_sizeof.c
35
if (stmt->expression->right != expr)
usr/src/tools/smatch/src/check_passes_sizeof.c
37
return stmt->expression->left;
usr/src/tools/smatch/src/check_passes_sizeof.c
40
static struct expression *remove_dereference(struct expression *expr)
usr/src/tools/smatch/src/check_passes_sizeof.c
50
static int get_buf_number(struct expression *call, struct expression *size_arg)
usr/src/tools/smatch/src/check_passes_sizeof.c
52
struct expression *arg;
usr/src/tools/smatch/src/check_passes_sizeof.c
71
static void match_call(struct expression *call)
usr/src/tools/smatch/src/check_passes_sizeof.c
73
struct expression *arg;
usr/src/tools/smatch/src/check_platform_device_put.c
29
static void match_added(const char *fn, struct expression *call_expr,
usr/src/tools/smatch/src/check_platform_device_put.c
30
struct expression *assign_expr, void *unused)
usr/src/tools/smatch/src/check_platform_device_put.c
32
struct expression *arg_expr;
usr/src/tools/smatch/src/check_platform_device_put.c
38
static void match_not_added(const char *fn, struct expression *call_expr,
usr/src/tools/smatch/src/check_platform_device_put.c
39
struct expression *assign_expr, void *unused)
usr/src/tools/smatch/src/check_platform_device_put.c
41
struct expression *arg_expr;
usr/src/tools/smatch/src/check_platform_device_put.c
47
static void match_platform_device_del(const char *fn, struct expression *expr, void *unused)
usr/src/tools/smatch/src/check_platform_device_put.c
49
struct expression *arg_expr;
usr/src/tools/smatch/src/check_pointer_math.c
109
static void check_assign(struct expression *expr)
usr/src/tools/smatch/src/check_pointer_math.c
24
static void set_undefined(struct sm_state *sm, struct expression *mod_expr)
usr/src/tools/smatch/src/check_pointer_math.c
30
static int is_sizeof(struct expression *expr)
usr/src/tools/smatch/src/check_pointer_math.c
35
static int is_macro(struct expression *expr, const char *macro_name)
usr/src/tools/smatch/src/check_pointer_math.c
38
struct expression *outside_expr;
usr/src/tools/smatch/src/check_pointer_math.c
51
static int is_size_in_bytes(struct expression *expr)
usr/src/tools/smatch/src/check_pointer_math.c
67
static void match_binop(struct expression *expr)
usr/src/tools/smatch/src/check_pointer_math.c
99
static void match_assign(struct expression *expr)
usr/src/tools/smatch/src/check_precedence.c
103
static void match_binop(struct expression *expr)
usr/src/tools/smatch/src/check_precedence.c
111
static void match_mask(struct expression *expr)
usr/src/tools/smatch/src/check_precedence.c
123
static void match_mask_compare(struct expression *expr)
usr/src/tools/smatch/src/check_precedence.c
133
static void match_subtract_shift(struct expression *expr)
usr/src/tools/smatch/src/check_precedence.c
23
static int is_bool(struct expression *expr)
usr/src/tools/smatch/src/check_precedence.c
35
static int is_bool_from_context(struct expression *expr)
usr/src/tools/smatch/src/check_precedence.c
46
static int is_bool_op(struct expression *expr)
usr/src/tools/smatch/src/check_precedence.c
59
static void match_condition(struct expression *expr)
usr/src/tools/smatch/src/check_proc_create.c
32
static void match_create(const char *fn, struct expression *expr, void *_param_type)
usr/src/tools/smatch/src/check_proc_create.c
34
struct expression *arg_expr;
usr/src/tools/smatch/src/check_puts_argument.c
49
static void match_put(const char *fn, struct expression *expr, void *info)
usr/src/tools/smatch/src/check_puts_argument.c
51
struct expression *tmp;
usr/src/tools/smatch/src/check_puts_argument.c
64
static void match_return(struct expression *ret_value)
usr/src/tools/smatch/src/check_readl_infinite_loops.c
33
static int is_readl_call(struct expression *expr)
usr/src/tools/smatch/src/check_readl_infinite_loops.c
50
static int is_readl(struct expression *expr)
usr/src/tools/smatch/src/check_readl_infinite_loops.c
59
static void match_assign(struct expression *expr)
usr/src/tools/smatch/src/check_readl_infinite_loops.c
67
static int condition_depends_on_readl(struct expression *expr)
usr/src/tools/smatch/src/check_readl_infinite_loops.c
81
static void check_condition(struct expression *expr)
usr/src/tools/smatch/src/check_readl_infinite_loops.c
91
static void match_return(struct expression *expr)
usr/src/tools/smatch/src/check_release_resource.c
30
static void match_request(const char *fn, struct expression *expr, void *_arg_no)
usr/src/tools/smatch/src/check_release_resource.c
32
struct expression *arg_expr;
usr/src/tools/smatch/src/check_release_resource.c
48
static void match_release(const char *fn, struct expression *expr, void *_arg_no)
usr/src/tools/smatch/src/check_release_resource.c
50
struct expression *arg_expr;
usr/src/tools/smatch/src/check_resource_size.c
23
static int is_probably_ok(struct expression *expr)
usr/src/tools/smatch/src/check_resource_size.c
35
static void verify_size_expr(struct expression *expr)
usr/src/tools/smatch/src/check_resource_size.c
48
static void handle_assigned_expr(struct expression *expr)
usr/src/tools/smatch/src/check_resource_size.c
55
expr = (struct expression *)state->data;
usr/src/tools/smatch/src/check_resource_size.c
59
static void match_resource(const char *fn, struct expression *expr, void *_arg_no)
usr/src/tools/smatch/src/check_resource_size.c
61
struct expression *arg_expr;
usr/src/tools/smatch/src/check_return.c
23
static void must_check(const char *fn, struct expression *expr, void *data)
usr/src/tools/smatch/src/check_return.c
28
if (stmt->type == STMT_EXPRESSION && stmt->expression == expr)
usr/src/tools/smatch/src/check_return_cast.c
26
static void match_return(struct expression *ret_value)
usr/src/tools/smatch/src/check_return_efault.c
33
static void ok_to_use(struct sm_state *sm, struct expression *mod_expr)
usr/src/tools/smatch/src/check_return_efault.c
39
static void match_copy(const char *fn, struct expression *expr, void *unused)
usr/src/tools/smatch/src/check_return_efault.c
46
static void match_condition(struct expression *expr)
usr/src/tools/smatch/src/check_return_efault.c
61
static void match_return_var(struct expression *ret_value)
usr/src/tools/smatch/src/check_return_efault.c
82
static void match_return_call(struct expression *ret_value)
usr/src/tools/smatch/src/check_return_efault.c
84
struct expression *fn;
usr/src/tools/smatch/src/check_return_enomem.c
28
static void match_return(struct expression *ret_value)
usr/src/tools/smatch/src/check_return_enomem.c
30
struct expression *expr;
usr/src/tools/smatch/src/check_return_negative_var.c
23
static void match_return(struct expression *ret_value)
usr/src/tools/smatch/src/check_return_negative_var.c
25
struct expression *expr;
usr/src/tools/smatch/src/check_rosenberg.c
106
static int warn_on_holey_struct(struct expression *expr)
usr/src/tools/smatch/src/check_rosenberg.c
116
static int has_global_scope(struct expression *expr)
usr/src/tools/smatch/src/check_rosenberg.c
128
static void match_clear(const char *fn, struct expression *expr, void *_arg_no)
usr/src/tools/smatch/src/check_rosenberg.c
130
struct expression *ptr;
usr/src/tools/smatch/src/check_rosenberg.c
143
static int was_memset(struct expression *expr)
usr/src/tools/smatch/src/check_rosenberg.c
193
static int check_members_initialized(struct expression *expr)
usr/src/tools/smatch/src/check_rosenberg.c
237
static void check_was_initialized(struct expression *data)
usr/src/tools/smatch/src/check_rosenberg.c
256
static void check_skb_put(struct expression *data)
usr/src/tools/smatch/src/check_rosenberg.c
271
static void match_copy_to_user(const char *fn, struct expression *expr, void *_arg)
usr/src/tools/smatch/src/check_rosenberg.c
274
struct expression *data;
usr/src/tools/smatch/src/check_rosenberg.c
285
static void db_param_cleared(struct expression *expr, int param, char *key, char *value)
usr/src/tools/smatch/src/check_rosenberg.c
295
static struct smatch_state *alloc_expr_state(struct expression *expr)
usr/src/tools/smatch/src/check_rosenberg.c
312
static void match_skb_put(const char *fn, struct expression *expr, void *unused)
usr/src/tools/smatch/src/check_rosenberg.c
325
static void match_return_skb_put(struct expression *expr)
usr/src/tools/smatch/src/check_rosenberg.c
35
static void extra_mod_hook(const char *name, struct symbol *sym, struct expression *expr, struct smatch_state *state)
usr/src/tools/smatch/src/check_rosenberg.c
46
static void print_holey_warning(struct expression *data, const char *member)
usr/src/tools/smatch/src/check_rosenberg.c
61
static int check_struct(struct expression *expr, struct symbol *type)
usr/src/tools/smatch/src/check_select.c
23
static void match_select(struct expression *expr)
usr/src/tools/smatch/src/check_shift_to_zero.c
22
static void match_binop(struct expression *expr)
usr/src/tools/smatch/src/check_shift_to_zero.c
43
static void match_binop2(struct expression *expr)
usr/src/tools/smatch/src/check_shift_to_zero.c
45
struct expression *left;
usr/src/tools/smatch/src/check_shift_to_zero.c
46
struct expression *tmp;
usr/src/tools/smatch/src/check_shift_to_zero.c
70
static void match_assign(struct expression *expr)
usr/src/tools/smatch/src/check_signed.c
107
struct expression *right = strip_expr(tmp->right);
usr/src/tools/smatch/src/check_signed.c
136
static int cap_lt_zero_or_gt(struct expression *expr)
usr/src/tools/smatch/src/check_signed.c
139
struct expression *var = expr->left;
usr/src/tools/smatch/src/check_signed.c
140
struct expression *tmp;
usr/src/tools/smatch/src/check_signed.c
155
struct expression *right = strip_expr(tmp->right);
usr/src/tools/smatch/src/check_signed.c
184
static int cap_both_sides(struct expression *expr)
usr/src/tools/smatch/src/check_signed.c
201
static int compare_against_macro(struct expression *expr)
usr/src/tools/smatch/src/check_signed.c
213
static int print_unsigned_never_less_than_zero(struct expression *expr)
usr/src/tools/smatch/src/check_signed.c
230
static void match_condition(struct expression *expr)
usr/src/tools/smatch/src/check_signed.c
34
static void match_assign(struct expression *expr)
usr/src/tools/smatch/src/check_signed.c
88
static int cap_gt_zero_and_lt(struct expression *expr)
usr/src/tools/smatch/src/check_signed.c
91
struct expression *var = expr->left;
usr/src/tools/smatch/src/check_signed.c
92
struct expression *tmp;
usr/src/tools/smatch/src/check_signed_integer_overflow_check.c
29
static void match_condition(struct expression *expr)
usr/src/tools/smatch/src/check_signed_integer_overflow_check.c
31
struct expression *left, *right;
usr/src/tools/smatch/src/check_signed_integer_overflow_check.c
67
static void match_binop(struct expression *expr)
usr/src/tools/smatch/src/check_sizeof.c
113
static void match_sizeof(struct expression *expr)
usr/src/tools/smatch/src/check_sizeof.c
22
static void check_pointer(struct expression *expr, char *ptr_name)
usr/src/tools/smatch/src/check_sizeof.c
42
static void match_call_assignment(struct expression *expr)
usr/src/tools/smatch/src/check_sizeof.c
44
struct expression *call = strip_expr(expr->right);
usr/src/tools/smatch/src/check_sizeof.c
45
struct expression *arg;
usr/src/tools/smatch/src/check_sizeof.c
62
static void check_passes_pointer(char *name, struct expression *call)
usr/src/tools/smatch/src/check_sizeof.c
64
struct expression *arg;
usr/src/tools/smatch/src/check_sizeof.c
77
static void match_check_params(struct expression *call)
usr/src/tools/smatch/src/check_sizeof.c
79
struct expression *arg;
usr/src/tools/smatch/src/check_sizeof.c
80
struct expression *obj;
usr/src/tools/smatch/src/check_sizeof.c
98
static void check_sizeof_number(struct expression *expr)
usr/src/tools/smatch/src/check_snprintf.c
24
static void ok_to_use(struct sm_state *sm, struct expression *mod_expr)
usr/src/tools/smatch/src/check_snprintf.c
29
static void match_snprintf(const char *fn, struct expression *expr, void *info)
usr/src/tools/smatch/src/check_snprintf.c
31
struct expression *call;
usr/src/tools/smatch/src/check_snprintf.c
32
struct expression *arg;
usr/src/tools/smatch/src/check_snprintf.c
54
static void match_call(struct expression *expr)
usr/src/tools/smatch/src/check_snprintf.c
56
struct expression *arg;
usr/src/tools/smatch/src/check_snprintf_overflow.c
20
static void match_snprintf(const char *fn, struct expression *expr, void *unused)
usr/src/tools/smatch/src/check_snprintf_overflow.c
22
struct expression *dest;
usr/src/tools/smatch/src/check_snprintf_overflow.c
23
struct expression *dest_size_expr;
usr/src/tools/smatch/src/check_snprintf_overflow.c
24
struct expression *format_string;
usr/src/tools/smatch/src/check_snprintf_overflow.c
25
struct expression *data;
usr/src/tools/smatch/src/check_spectre.c
126
static unsigned long long get_mask(struct expression *expr)
usr/src/tools/smatch/src/check_spectre.c
128
struct expression *tmp;
usr/src/tools/smatch/src/check_spectre.c
152
static void array_check(struct expression *expr)
usr/src/tools/smatch/src/check_spectre.c
155
struct expression *array_expr, *offset;
usr/src/tools/smatch/src/check_spectre.c
23
extern void set_spectre_first_half(struct expression *expr);
usr/src/tools/smatch/src/check_spectre.c
27
static int is_write(struct expression *expr)
usr/src/tools/smatch/src/check_spectre.c
32
static int is_read(struct expression *expr)
usr/src/tools/smatch/src/check_spectre.c
34
struct expression *parent, *last_parent;
usr/src/tools/smatch/src/check_spectre.c
65
static int is_harmless(struct expression *expr)
usr/src/tools/smatch/src/check_spectre.c
67
struct expression *tmp, *parent;
usr/src/tools/smatch/src/check_spectre.c
93
static unsigned long long get_max_by_type(struct expression *expr)
usr/src/tools/smatch/src/check_spectre_second_half.c
29
struct expression *recently_set;
usr/src/tools/smatch/src/check_spectre_second_half.c
31
void set_spectre_first_half(struct expression *expr)
usr/src/tools/smatch/src/check_spectre_second_half.c
52
static struct smatch_state *get_spectre_first_half(struct expression *expr)
usr/src/tools/smatch/src/check_spectre_second_half.c
64
static void match_assign(struct expression *expr)
usr/src/tools/smatch/src/check_spectre_second_half.c
84
static void match_done(struct expression *expr)
usr/src/tools/smatch/src/check_sprintf_overflow.c
20
static void match_sprintf(const char *fn, struct expression *expr, void *unused)
usr/src/tools/smatch/src/check_sprintf_overflow.c
22
struct expression *dest;
usr/src/tools/smatch/src/check_sprintf_overflow.c
23
struct expression *format_string;
usr/src/tools/smatch/src/check_sprintf_overflow.c
24
struct expression *data;
usr/src/tools/smatch/src/check_strcpy_overflow.c
20
static void match_strcpy(const char *fn, struct expression *expr, void *unused)
usr/src/tools/smatch/src/check_strcpy_overflow.c
22
struct expression *dest;
usr/src/tools/smatch/src/check_strcpy_overflow.c
23
struct expression *data;
usr/src/tools/smatch/src/check_string_len.c
178
int get_formatted_string_size_helper(struct expression *call, int arg, bool use_max)
usr/src/tools/smatch/src/check_string_len.c
180
struct expression *expr;
usr/src/tools/smatch/src/check_string_len.c
206
int get_formatted_string_size(struct expression *call, int arg)
usr/src/tools/smatch/src/check_string_len.c
211
int get_formatted_string_min_size(struct expression *call, int arg)
usr/src/tools/smatch/src/check_string_len.c
216
static void match_not_limited(const char *fn, struct expression *call, void *info)
usr/src/tools/smatch/src/check_string_len.c
220
struct expression *dest;
usr/src/tools/smatch/src/check_string_len.c
221
struct expression *arg;
usr/src/tools/smatch/src/check_string_len.c
38
static int handle_format(struct expression *call, char **pp, int *arg_nr, bool use_max)
usr/src/tools/smatch/src/check_string_len.c
40
struct expression *arg;
usr/src/tools/smatch/src/check_struct_type.c
22
static void match_assign(const char *fn, struct expression *expr, void *_size_arg)
usr/src/tools/smatch/src/check_struct_type.c
25
struct expression *left;
usr/src/tools/smatch/src/check_struct_type.c
26
struct expression *call;
usr/src/tools/smatch/src/check_struct_type.c
27
struct expression *arg;
usr/src/tools/smatch/src/check_syscall_arg_type.c
134
static void match_fdget(const char *fn, struct expression *expr, void *unused)
usr/src/tools/smatch/src/check_syscall_arg_type.c
136
struct expression *arg;
usr/src/tools/smatch/src/check_template.c
63
static void match_call(struct expression *expr)
usr/src/tools/smatch/src/check_template.c
66
struct expression *sem_expr;
usr/src/tools/smatch/src/check_template.c
85
static void match_return(struct expression *ret_value)
usr/src/tools/smatch/src/check_test_bit.c
23
static void match_test_bit(const char *fn, struct expression *expr, void *data)
usr/src/tools/smatch/src/check_test_bit.c
25
struct expression *arg;
usr/src/tools/smatch/src/check_testing_index_after_use.c
33
static void delete(struct sm_state *sm, struct expression *mod_expr)
usr/src/tools/smatch/src/check_testing_index_after_use.c
38
static void array_check(struct expression *expr)
usr/src/tools/smatch/src/check_testing_index_after_use.c
40
struct expression *array_expr;
usr/src/tools/smatch/src/check_testing_index_after_use.c
42
struct expression *offset;
usr/src/tools/smatch/src/check_testing_index_after_use.c
68
static void match_condition(struct expression *expr)
usr/src/tools/smatch/src/check_trinity_generator.c
43
static void match_return(struct expression *ret_value)
usr/src/tools/smatch/src/check_type.c
33
static void match_free(const char *fn, struct expression *expr, void *data)
usr/src/tools/smatch/src/check_type.c
35
struct expression *arg_expr;
usr/src/tools/smatch/src/check_uninitialized.c
100
struct expression *success;
usr/src/tools/smatch/src/check_uninitialized.c
133
static int is_initialized(struct expression *expr)
usr/src/tools/smatch/src/check_uninitialized.c
148
static void match_dereferences(struct expression *expr)
usr/src/tools/smatch/src/check_uninitialized.c
169
static void match_condition(struct expression *expr)
usr/src/tools/smatch/src/check_uninitialized.c
189
static void match_call(struct expression *expr)
usr/src/tools/smatch/src/check_uninitialized.c
191
struct expression *arg;
usr/src/tools/smatch/src/check_uninitialized.c
218
static int member_is_used(struct expression *call, int param, char *printed_name)
usr/src/tools/smatch/src/check_uninitialized.c
233
static void match_call_struct_members(struct expression *expr)
usr/src/tools/smatch/src/check_uninitialized.c
236
struct expression *arg;
usr/src/tools/smatch/src/check_uninitialized.c
274
static int is_being_modified(struct expression *expr)
usr/src/tools/smatch/src/check_uninitialized.c
276
struct expression *parent;
usr/src/tools/smatch/src/check_uninitialized.c
299
static void match_symbol(struct expression *expr)
usr/src/tools/smatch/src/check_uninitialized.c
322
static void match_untracked(struct expression *call, int param)
usr/src/tools/smatch/src/check_uninitialized.c
324
struct expression *arg;
usr/src/tools/smatch/src/check_uninitialized.c
334
static void match_ignore_param(const char *fn, struct expression *expr, void *_arg_nr)
usr/src/tools/smatch/src/check_uninitialized.c
337
struct expression *arg;
usr/src/tools/smatch/src/check_uninitialized.c
80
static void extra_mod_hook(const char *name, struct symbol *sym, struct expression *expr, struct smatch_state *state)
usr/src/tools/smatch/src/check_uninitialized.c
89
static void match_assign(struct expression *expr)
usr/src/tools/smatch/src/check_uninitialized.c
91
struct expression *right;
usr/src/tools/smatch/src/check_uninitialized.c
98
static void match_negative_comparison(struct expression *expr)
usr/src/tools/smatch/src/check_unreachable.c
196
struct expression *expr;
usr/src/tools/smatch/src/check_unreachable.c
200
expr = stmt->expression;
usr/src/tools/smatch/src/check_unreachable.c
30
if (stmt->type == STMT_EXPRESSION && !stmt->expression)
usr/src/tools/smatch/src/check_unused_ret.c
101
struct expression *left;
usr/src/tools/smatch/src/check_unused_ret.c
132
static void match_assign(struct expression *expr)
usr/src/tools/smatch/src/check_unused_ret.c
134
struct expression *left;
usr/src/tools/smatch/src/check_unused_ret.c
165
static void match_symbol(struct expression *expr)
usr/src/tools/smatch/src/check_unused_ret.c
60
static struct expression *skip_this;
usr/src/tools/smatch/src/check_unused_ret.c
76
static char *get_fn_name(struct expression *expr)
usr/src/tools/smatch/src/check_unused_ret.c
85
static int ignored_function(struct expression *expr)
usr/src/tools/smatch/src/check_unused_ret.c
99
static void match_assign_call(struct expression *expr)
usr/src/tools/smatch/src/check_unwind.c
104
static void match_release(const char *fn, struct expression *expr, void *_arg_no)
usr/src/tools/smatch/src/check_unwind.c
106
struct expression *arg_expr;
usr/src/tools/smatch/src/check_unwind.c
115
static void match_unwind_function(const char *fn, struct expression *expr, void *unused)
usr/src/tools/smatch/src/check_unwind.c
134
static void match_return(struct expression *ret_value)
usr/src/tools/smatch/src/check_unwind.c
39
static int was_passed_as_param(struct expression *expr)
usr/src/tools/smatch/src/check_unwind.c
57
static void print_unwind_functions(const char *fn, struct expression *expr, void *_arg_no)
usr/src/tools/smatch/src/check_unwind.c
59
struct expression *arg_expr;
usr/src/tools/smatch/src/check_unwind.c
72
static void request_granted(const char *fn, struct expression *call_expr,
usr/src/tools/smatch/src/check_unwind.c
73
struct expression *assign_expr, void *_arg_no)
usr/src/tools/smatch/src/check_unwind.c
75
struct expression *arg_expr;
usr/src/tools/smatch/src/check_unwind.c
88
static void request_denied(const char *fn, struct expression *call_expr,
usr/src/tools/smatch/src/check_unwind.c
89
struct expression *assign_expr, void *_arg_no)
usr/src/tools/smatch/src/check_unwind.c
91
struct expression *arg_expr;
usr/src/tools/smatch/src/check_wait_for_common.c
22
static void match_wait_for_common(const char *fn, struct expression *expr, void *unused)
usr/src/tools/smatch/src/check_wine.c
27
void match_fatal_report(const char *fn, struct expression *expr,
usr/src/tools/smatch/src/check_wine.c
30
struct expression *arg;
usr/src/tools/smatch/src/check_wine_WtoA.c
63
static void match_call(struct expression *expr)
usr/src/tools/smatch/src/check_wine_filehandles.c
47
static void ok_to_use(struct sm_state *sm, struct expression *mod_expr)
usr/src/tools/smatch/src/check_wine_filehandles.c
53
static void match_returns_handle(const char *fn, struct expression *expr,
usr/src/tools/smatch/src/check_wine_filehandles.c
67
static void match_condition(struct expression *expr)
usr/src/tools/smatch/src/check_wrong_size_arg.c
22
static void match_parameter(const char *fn, struct expression *expr, void *_param)
usr/src/tools/smatch/src/check_wrong_size_arg.c
25
struct expression *arg;
usr/src/tools/smatch/src/check_zero_to_err_ptr.c
122
static void match_err_ptr(const char *fn, struct expression *expr, void *data)
usr/src/tools/smatch/src/check_zero_to_err_ptr.c
124
struct expression *arg_expr;
usr/src/tools/smatch/src/check_zero_to_err_ptr.c
24
static int is_comparison_call(struct expression *expr)
usr/src/tools/smatch/src/check_zero_to_err_ptr.c
34
static int next_line_is_if(struct expression *expr)
usr/src/tools/smatch/src/check_zero_to_err_ptr.c
36
struct expression *next;
usr/src/tools/smatch/src/check_zero_to_err_ptr.c
49
static int next_line_checks_IS_ERR(struct expression *call, struct expression *arg)
usr/src/tools/smatch/src/check_zero_to_err_ptr.c
51
struct expression *next;
usr/src/tools/smatch/src/check_zero_to_err_ptr.c
52
struct expression *tmp;
usr/src/tools/smatch/src/compile-i386.c
1053
struct expression *expr = sym->initializer;
usr/src/tools/smatch/src/compile-i386.c
1054
struct expression *entry;
usr/src/tools/smatch/src/compile-i386.c
1114
static void emit_store(struct expression *dest_expr, struct storage *dest,
usr/src/tools/smatch/src/compile-i386.c
1230
static struct storage *emit_compare(struct expression *expr)
usr/src/tools/smatch/src/compile-i386.c
1286
static struct storage *emit_value(struct expression *expr)
usr/src/tools/smatch/src/compile-i386.c
1308
static struct storage *emit_divide(struct expression *expr, struct storage *left, struct storage *right)
usr/src/tools/smatch/src/compile-i386.c
1342
static struct storage *emit_binop(struct expression *expr)
usr/src/tools/smatch/src/compile-i386.c
1507
static struct storage *emit_inc_dec(struct expression *expr, int postop)
usr/src/tools/smatch/src/compile-i386.c
1530
static struct storage *emit_postop(struct expression *expr)
usr/src/tools/smatch/src/compile-i386.c
1538
struct expression *expr = stmt->ret_value;
usr/src/tools/smatch/src/compile-i386.c
1555
static struct storage *emit_conditional_expr(struct expression *expr)
usr/src/tools/smatch/src/compile-i386.c
1583
static struct storage *emit_select_expr(struct expression *expr)
usr/src/tools/smatch/src/compile-i386.c
1614
struct expression *expr = sym->initializer;
usr/src/tools/smatch/src/compile-i386.c
1635
static struct storage *emit_string_expr(struct expression *expr)
usr/src/tools/smatch/src/compile-i386.c
1649
static struct storage *emit_cast_expr(struct expression *expr)
usr/src/tools/smatch/src/compile-i386.c
1672
static struct storage *emit_regular_preop(struct expression *expr)
usr/src/tools/smatch/src/compile-i386.c
1728
struct expression *expr = case_stmt->case_expression;
usr/src/tools/smatch/src/compile-i386.c
1729
struct expression *to = case_stmt->case_to;
usr/src/tools/smatch/src/compile-i386.c
1914
struct expression *pre_condition = stmt->iterator_pre_condition;
usr/src/tools/smatch/src/compile-i386.c
1917
struct expression *post_condition = stmt->iterator_post_condition;
usr/src/tools/smatch/src/compile-i386.c
196
static struct storage *x86_address_gen(struct expression *expr);
usr/src/tools/smatch/src/compile-i386.c
200
static struct storage *x86_expression(struct expression *expr);
usr/src/tools/smatch/src/compile-i386.c
2015
return x86_expression(stmt->expression);
usr/src/tools/smatch/src/compile-i386.c
2065
static struct storage *x86_call_expression(struct expression *expr)
usr/src/tools/smatch/src/compile-i386.c
2069
struct expression *arg, *fn;
usr/src/tools/smatch/src/compile-i386.c
2137
static struct storage *x86_address_gen(struct expression *expr)
usr/src/tools/smatch/src/compile-i386.c
2160
static struct storage *x86_assignment(struct expression *expr)
usr/src/tools/smatch/src/compile-i386.c
2162
struct expression *target = expr->left;
usr/src/tools/smatch/src/compile-i386.c
2193
static int x86_initialization(struct symbol *sym, struct expression *expr)
usr/src/tools/smatch/src/compile-i386.c
2210
static struct storage *x86_access(struct expression *expr)
usr/src/tools/smatch/src/compile-i386.c
2215
static struct storage *x86_preop(struct expression *expr)
usr/src/tools/smatch/src/compile-i386.c
2248
struct expression *expr = sym->initializer;
usr/src/tools/smatch/src/compile-i386.c
2266
static struct storage *x86_label_expr(struct expression *expr)
usr/src/tools/smatch/src/compile-i386.c
2273
static struct storage *x86_statement_expr(struct expression *expr)
usr/src/tools/smatch/src/compile-i386.c
2278
static int x86_position_expr(struct expression *expr, struct symbol *base)
usr/src/tools/smatch/src/compile-i386.c
2289
static void x86_initializer_expr(struct expression *expr, struct symbol *ctype)
usr/src/tools/smatch/src/compile-i386.c
2291
struct expression *entry;
usr/src/tools/smatch/src/compile-i386.c
2317
static struct storage *x86_expression(struct expression *expr)
usr/src/tools/smatch/src/compile-i386.c
329
static struct regclass *get_regclass(struct expression *expr)
usr/src/tools/smatch/src/compile-i386.c
915
static void emit_scalar(struct expression *expr, unsigned int bit_size)
usr/src/tools/smatch/src/compile-i386.c
961
struct expression *expr)
usr/src/tools/smatch/src/compile-i386.c
981
static int sort_array_cmp(const struct expression *a,
usr/src/tools/smatch/src/compile-i386.c
982
const struct expression *b)
usr/src/tools/smatch/src/compile-i386.c
995
static void sort_array(struct expression *expr)
usr/src/tools/smatch/src/compile-i386.c
997
struct expression *entry, **list;
usr/src/tools/smatch/src/dissect.c
159
static inline struct symbol *expr_symbol(struct expression *expr)
usr/src/tools/smatch/src/dissect.c
179
static struct symbol *report_symbol(usage_t mode, struct expression *expr)
usr/src/tools/smatch/src/dissect.c
291
static struct expression *peek_preop(struct expression *expr, int op)
usr/src/tools/smatch/src/dissect.c
307
static struct symbol *do_expression(usage_t mode, struct expression *expr)
usr/src/tools/smatch/src/dissect.c
385
struct expression *unop = expr->unop;
usr/src/tools/smatch/src/dissect.c
478
ret = do_expression(mode, stmt->expression);
usr/src/tools/smatch/src/dissect.c
481
do_expression(u_lval(return_type), stmt->expression);
usr/src/tools/smatch/src/dissect.c
529
static struct symbol *do_initializer(struct symbol *type, struct expression *expr)
usr/src/tools/smatch/src/dissect.c
532
struct expression *m_expr;
usr/src/tools/smatch/src/dissect.c
61
*do_initializer(struct symbol *type, struct expression *expr),
usr/src/tools/smatch/src/dissect.c
62
*do_expression(usage_t mode, struct expression *expr),
usr/src/tools/smatch/src/evaluate.c
1008
static struct symbol *evaluate_comma(struct expression *expr)
usr/src/tools/smatch/src/evaluate.c
102
struct expression *addr = alloc_expression(expr->pos, EXPR_SYMBOL);
usr/src/tools/smatch/src/evaluate.c
103
struct expression *initstr = alloc_expression(expr->pos, EXPR_STRING);
usr/src/tools/smatch/src/evaluate.c
1036
static inline int is_null_pointer_constant(struct expression *e)
usr/src/tools/smatch/src/evaluate.c
1045
static struct symbol *evaluate_compare(struct expression *expr)
usr/src/tools/smatch/src/evaluate.c
1047
struct expression *left = expr->left, *right = expr->right;
usr/src/tools/smatch/src/evaluate.c
1153
static struct symbol *evaluate_conditional_expression(struct expression *expr)
usr/src/tools/smatch/src/evaluate.c
1155
struct expression **cond;
usr/src/tools/smatch/src/evaluate.c
1315
static int evaluate_assign_op(struct expression *expr)
usr/src/tools/smatch/src/evaluate.c
1399
static int check_assignment_types(struct symbol *target, struct expression **rp,
usr/src/tools/smatch/src/evaluate.c
1496
static int compatible_assignment_types(struct expression *expr, struct symbol *target,
usr/src/tools/smatch/src/evaluate.c
1497
struct expression **rp, const char *where)
usr/src/tools/smatch/src/evaluate.c
1514
struct expression **rp)
usr/src/tools/smatch/src/evaluate.c
1530
static int compatible_argument_type(struct expression *expr, struct symbol *target,
usr/src/tools/smatch/src/evaluate.c
1531
struct expression **rp, const char *where)
usr/src/tools/smatch/src/evaluate.c
1539
static void mark_assigned(struct expression *expr)
usr/src/tools/smatch/src/evaluate.c
1572
static void evaluate_assign_to(struct expression *left, struct symbol *type)
usr/src/tools/smatch/src/evaluate.c
1581
static struct symbol *evaluate_assignment(struct expression *expr)
usr/src/tools/smatch/src/evaluate.c
1583
struct expression *left = expr->left;
usr/src/tools/smatch/src/evaluate.c
1656
static struct symbol *create_pointer(struct expression *expr, struct symbol *sym, int degenerate)
usr/src/tools/smatch/src/evaluate.c
1689
static struct symbol *degenerate(struct expression *expr)
usr/src/tools/smatch/src/evaluate.c
1712
struct expression *e0, *e1, *e2, *e3, *e4;
usr/src/tools/smatch/src/evaluate.c
1767
static struct symbol *evaluate_addressof(struct expression *expr)
usr/src/tools/smatch/src/evaluate.c
1769
struct expression *op = expr->unop;
usr/src/tools/smatch/src/evaluate.c
1797
static struct symbol *evaluate_dereference(struct expression *expr)
usr/src/tools/smatch/src/evaluate.c
1799
struct expression *op = expr->unop;
usr/src/tools/smatch/src/evaluate.c
1860
static struct symbol *evaluate_postop(struct expression *expr)
usr/src/tools/smatch/src/evaluate.c
1862
struct expression *op = expr->unop;
usr/src/tools/smatch/src/evaluate.c
1898
static struct symbol *evaluate_sign(struct expression *expr)
usr/src/tools/smatch/src/evaluate.c
1929
static struct symbol *evaluate_preop(struct expression *expr)
usr/src/tools/smatch/src/evaluate.c
1969
struct expression *arg = expr->unop;
usr/src/tools/smatch/src/evaluate.c
2025
static struct expression *evaluate_offset(struct expression *expr, unsigned long offset)
usr/src/tools/smatch/src/evaluate.c
2027
struct expression *add;
usr/src/tools/smatch/src/evaluate.c
2060
static struct symbol *evaluate_member_dereference(struct expression *expr)
usr/src/tools/smatch/src/evaluate.c
2064
struct expression *deref = expr->deref, *add;
usr/src/tools/smatch/src/evaluate.c
2144
static int is_promoted(struct expression *expr)
usr/src/tools/smatch/src/evaluate.c
2174
static struct symbol *evaluate_cast(struct expression *);
usr/src/tools/smatch/src/evaluate.c
2176
static struct symbol *evaluate_type_information(struct expression *expr)
usr/src/tools/smatch/src/evaluate.c
2202
static struct symbol *evaluate_sizeof(struct expression *expr)
usr/src/tools/smatch/src/evaluate.c
2232
struct expression *base, *size;
usr/src/tools/smatch/src/evaluate.c
2273
static struct symbol *evaluate_ptrsizeof(struct expression *expr)
usr/src/tools/smatch/src/evaluate.c
2307
static struct symbol *evaluate_alignof(struct expression *expr)
usr/src/tools/smatch/src/evaluate.c
232
static int is_same_type(struct expression *expr, struct symbol *new)
usr/src/tools/smatch/src/evaluate.c
2324
struct expression *expr;
usr/src/tools/smatch/src/evaluate.c
2331
struct expression **p = THIS_ADDRESS(expr);
usr/src/tools/smatch/src/evaluate.c
2368
static void convert_index(struct expression *e)
usr/src/tools/smatch/src/evaluate.c
2370
struct expression *child = e->idx_expression;
usr/src/tools/smatch/src/evaluate.c
2379
static void convert_ident(struct expression *e)
usr/src/tools/smatch/src/evaluate.c
2381
struct expression *child = e->ident_expression;
usr/src/tools/smatch/src/evaluate.c
2390
static void convert_designators(struct expression *e)
usr/src/tools/smatch/src/evaluate.c
2403
static void excess(struct expression *e, const char *s)
usr/src/tools/smatch/src/evaluate.c
2411
static struct expression *first_subobject(struct symbol *ctype, int class,
usr/src/tools/smatch/src/evaluate.c
2412
struct expression **v)
usr/src/tools/smatch/src/evaluate.c
2414
struct expression *e = *v, *new;
usr/src/tools/smatch/src/evaluate.c
2447
static struct expression *check_designators(struct expression *e,
usr/src/tools/smatch/src/evaluate.c
2450
struct expression *last = NULL;
usr/src/tools/smatch/src/evaluate.c
2514
static struct expression *next_designators(struct expression *old,
usr/src/tools/smatch/src/evaluate.c
2516
struct expression *e, struct expression **v)
usr/src/tools/smatch/src/evaluate.c
2518
struct expression *new = NULL;
usr/src/tools/smatch/src/evaluate.c
2523
struct expression *copy;
usr/src/tools/smatch/src/evaluate.c
2546
struct expression *copy;
usr/src/tools/smatch/src/evaluate.c
2586
static int handle_initializer(struct expression **ep, int nested,
usr/src/tools/smatch/src/evaluate.c
2592
static void handle_list_initializer(struct expression *expr,
usr/src/tools/smatch/src/evaluate.c
2595
struct expression *e, *last = NULL, *top = NULL, *next;
usr/src/tools/smatch/src/evaluate.c
2599
struct expression **v;
usr/src/tools/smatch/src/evaluate.c
2677
static int is_string_literal(struct expression **v)
usr/src/tools/smatch/src/evaluate.c
2679
struct expression *e = *v;
usr/src/tools/smatch/src/evaluate.c
2697
static struct expression *handle_scalar(struct expression *e, int nested)
usr/src/tools/smatch/src/evaluate.c
2699
struct expression *v = NULL, *p;
usr/src/tools/smatch/src/evaluate.c
2744
static int handle_initializer(struct expression **ep, int nested,
usr/src/tools/smatch/src/evaluate.c
2748
struct expression *e = *ep, *p;
usr/src/tools/smatch/src/evaluate.c
2782
struct expression *v = NULL;
usr/src/tools/smatch/src/evaluate.c
2839
static void evaluate_initializer(struct symbol *ctype, struct expression **ep)
usr/src/tools/smatch/src/evaluate.c
2847
static struct symbol *cast_to_bool(struct expression *expr)
usr/src/tools/smatch/src/evaluate.c
2849
struct expression *old = expr->cast_expression;
usr/src/tools/smatch/src/evaluate.c
2850
struct expression *zero;
usr/src/tools/smatch/src/evaluate.c
2869
static int cast_flags(struct expression *expr, struct expression *old)
usr/src/tools/smatch/src/evaluate.c
292
static int cast_flags(struct expression *expr, struct expression *target);
usr/src/tools/smatch/src/evaluate.c
2922
static struct symbol *evaluate_cast(struct expression *expr)
usr/src/tools/smatch/src/evaluate.c
2924
struct expression *source = expr->cast_expression;
usr/src/tools/smatch/src/evaluate.c
293
static struct symbol *cast_to_bool(struct expression *expr);
usr/src/tools/smatch/src/evaluate.c
2945
struct expression *addr = alloc_expression(expr->pos, EXPR_SYMBOL);
usr/src/tools/smatch/src/evaluate.c
302
static struct expression * cast_to(struct expression *old, struct symbol *type)
usr/src/tools/smatch/src/evaluate.c
304
struct expression *expr;
usr/src/tools/smatch/src/evaluate.c
3085
static int evaluate_symbol_call(struct expression *expr)
usr/src/tools/smatch/src/evaluate.c
3087
struct expression *fn = expr->fn;
usr/src/tools/smatch/src/evaluate.c
3115
static struct symbol *evaluate_call(struct expression *expr)
usr/src/tools/smatch/src/evaluate.c
3119
struct expression *fn = expr->fn;
usr/src/tools/smatch/src/evaluate.c
3131
struct expression *arg;
usr/src/tools/smatch/src/evaluate.c
3170
static struct symbol *evaluate_offsetof(struct expression *expr)
usr/src/tools/smatch/src/evaluate.c
3172
struct expression *e = expr->down;
usr/src/tools/smatch/src/evaluate.c
3220
struct expression *idx = expr->index, *m;
usr/src/tools/smatch/src/evaluate.c
3246
struct expression *copy = __alloc_expression(0);
usr/src/tools/smatch/src/evaluate.c
3262
struct symbol *evaluate_expression(struct expression *expr)
usr/src/tools/smatch/src/evaluate.c
329
struct expression *orig = old->cast_expression;
usr/src/tools/smatch/src/evaluate.c
3455
struct expression *expr = stmt->expression;
usr/src/tools/smatch/src/evaluate.c
3474
compatible_assignment_types(expr, fntype, &stmt->expression, "return expression");
usr/src/tools/smatch/src/evaluate.c
3498
static void verify_output_constraint(struct expression *expr, const char *constraint)
usr/src/tools/smatch/src/evaluate.c
3509
static void verify_input_constraint(struct expression *expr, const char *constraint)
usr/src/tools/smatch/src/evaluate.c
3520
struct expression *expr;
usr/src/tools/smatch/src/evaluate.c
3521
struct expression *op;
usr/src/tools/smatch/src/evaluate.c
3591
static void check_case_type(struct expression *switch_expr,
usr/src/tools/smatch/src/evaluate.c
3592
struct expression *case_expr,
usr/src/tools/smatch/src/evaluate.c
3593
struct expression **enumcase)
usr/src/tools/smatch/src/evaluate.c
3642
struct expression *enumcase = NULL;
usr/src/tools/smatch/src/evaluate.c
3643
struct expression **enumcase_holder = &enumcase;
usr/src/tools/smatch/src/evaluate.c
3644
struct expression *sel = stmt->switch_expression;
usr/src/tools/smatch/src/evaluate.c
3688
if (!evaluate_expression(stmt->expression))
usr/src/tools/smatch/src/evaluate.c
3690
if (stmt->expression->ctype == &null_ctype)
usr/src/tools/smatch/src/evaluate.c
3691
stmt->expression = cast_to(stmt->expression, &ptr_ctype);
usr/src/tools/smatch/src/evaluate.c
3692
return degenerate(stmt->expression);
usr/src/tools/smatch/src/evaluate.c
3736
evaluate_expression(stmt->expression);
usr/src/tools/smatch/src/evaluate.c
409
static struct symbol *bad_expr_type(struct expression *expr)
usr/src/tools/smatch/src/evaluate.c
435
static int restricted_value(struct expression *v, struct symbol *type)
usr/src/tools/smatch/src/evaluate.c
483
struct expression *left,
usr/src/tools/smatch/src/evaluate.c
484
struct expression *right,
usr/src/tools/smatch/src/evaluate.c
50
static struct symbol *degenerate(struct expression *expr);
usr/src/tools/smatch/src/evaluate.c
527
static inline void unrestrict(struct expression *expr,
usr/src/tools/smatch/src/evaluate.c
53
static inline int valid_expr_type(struct expression *expr)
usr/src/tools/smatch/src/evaluate.c
540
struct expression *left,
usr/src/tools/smatch/src/evaluate.c
541
struct expression *right,
usr/src/tools/smatch/src/evaluate.c
58
static inline int valid_subexpr_type(struct expression *expr)
usr/src/tools/smatch/src/evaluate.c
581
static inline int lvalue_expression(struct expression *expr)
usr/src/tools/smatch/src/evaluate.c
586
static struct symbol *evaluate_ptr_add(struct expression *expr, struct symbol *itype)
usr/src/tools/smatch/src/evaluate.c
588
struct expression *index = expr->right;
usr/src/tools/smatch/src/evaluate.c
622
struct expression *val = alloc_expression(expr->pos, EXPR_VALUE);
usr/src/tools/smatch/src/evaluate.c
64
static struct symbol *evaluate_symbol_expression(struct expression *expr)
usr/src/tools/smatch/src/evaluate.c
642
struct expression *val = alloc_expression(expr->pos, EXPR_VALUE);
usr/src/tools/smatch/src/evaluate.c
643
struct expression *mul = alloc_expression(expr->pos, EXPR_BINOP);
usr/src/tools/smatch/src/evaluate.c
66
struct expression *addr;
usr/src/tools/smatch/src/evaluate.c
821
static void bad_null(struct expression *expr)
usr/src/tools/smatch/src/evaluate.c
835
static struct symbol *evaluate_ptr_sub(struct expression *expr)
usr/src/tools/smatch/src/evaluate.c
839
struct expression *l = expr->left;
usr/src/tools/smatch/src/evaluate.c
840
struct expression *r = expr->right;
usr/src/tools/smatch/src/evaluate.c
861
struct expression *sub = alloc_expression(expr->pos, EXPR_BINOP);
usr/src/tools/smatch/src/evaluate.c
862
struct expression *div = expr;
usr/src/tools/smatch/src/evaluate.c
863
struct expression *val = alloc_expression(expr->pos, EXPR_VALUE);
usr/src/tools/smatch/src/evaluate.c
891
static struct symbol *evaluate_conditional(struct expression *expr, int iterator)
usr/src/tools/smatch/src/evaluate.c
922
static struct symbol *evaluate_logical(struct expression *expr)
usr/src/tools/smatch/src/evaluate.c
936
static struct symbol *evaluate_binop(struct expression *expr)
usr/src/tools/smatch/src/evaluate.c
98
static struct symbol *evaluate_string(struct expression *expr)
usr/src/tools/smatch/src/evaluate.c
994
struct expression *index = expr->left;
usr/src/tools/smatch/src/evaluate.h
14
struct symbol *evaluate_expression(struct expression *expr);
usr/src/tools/smatch/src/evaluate.h
4
struct expression;
usr/src/tools/smatch/src/expand.c
1011
static int expand_expression(struct expression *expr)
usr/src/tools/smatch/src/expand.c
1067
if (stmt->type == STMT_EXPRESSION && stmt->expression)
usr/src/tools/smatch/src/expand.c
1068
*expr = *stmt->expression;
usr/src/tools/smatch/src/expand.c
1105
static void expand_const_expression(struct expression *expr, const char *where)
usr/src/tools/smatch/src/expand.c
1136
expand_expression(stmt->expression);
usr/src/tools/smatch/src/expand.c
1141
struct expression *expr = stmt->if_conditional;
usr/src/tools/smatch/src/expand.c
1222
return expand_expression(stmt->expression);
usr/src/tools/smatch/src/expand.c
1263
expand_expression(stmt->expression);
usr/src/tools/smatch/src/expand.c
1274
static inline int bad_integer_constant_expression(struct expression *expr)
usr/src/tools/smatch/src/expand.c
1283
static long long __get_expression_value(struct expression *expr, int strict)
usr/src/tools/smatch/src/expand.c
1320
long long get_expression_value(struct expression *expr)
usr/src/tools/smatch/src/expand.c
1325
long long const_expression_value(struct expression *expr)
usr/src/tools/smatch/src/expand.c
1330
long long get_expression_value_silent(struct expression *expr)
usr/src/tools/smatch/src/expand.c
1336
int expr_truth_value(struct expression *expr)
usr/src/tools/smatch/src/expand.c
1366
int is_zero_constant(struct expression *expr)
usr/src/tools/smatch/src/expand.c
166
static void warn_shift_count(struct expression *expr, struct symbol *ctype, long long count)
usr/src/tools/smatch/src/expand.c
183
static bool check_shift_count(struct expression *expr, struct expression *right)
usr/src/tools/smatch/src/expand.c
202
static int simplify_int_binop(struct expression *expr, struct symbol *ctype)
usr/src/tools/smatch/src/expand.c
204
struct expression *left = expr->left, *right = expr->right;
usr/src/tools/smatch/src/expand.c
318
static int simplify_cmp_binop(struct expression *expr, struct symbol *ctype)
usr/src/tools/smatch/src/expand.c
320
struct expression *left = expr->left, *right = expr->right;
usr/src/tools/smatch/src/expand.c
350
static int simplify_float_binop(struct expression *expr)
usr/src/tools/smatch/src/expand.c
352
struct expression *left = expr->left, *right = expr->right;
usr/src/tools/smatch/src/expand.c
399
static int simplify_float_cmp(struct expression *expr, struct symbol *ctype)
usr/src/tools/smatch/src/expand.c
401
struct expression *left = expr->left, *right = expr->right;
usr/src/tools/smatch/src/expand.c
422
static int expand_binop(struct expression *expr)
usr/src/tools/smatch/src/expand.c
435
static int expand_logical(struct expression *expr)
usr/src/tools/smatch/src/expand.c
437
struct expression *left = expr->left;
usr/src/tools/smatch/src/expand.c
438
struct expression *right;
usr/src/tools/smatch/src/expand.c
48
static int expand_expression(struct expression *);
usr/src/tools/smatch/src/expand.c
487
static int expand_comma(struct expression *expr)
usr/src/tools/smatch/src/expand.c
528
static int expand_compare(struct expression *expr)
usr/src/tools/smatch/src/expand.c
530
struct expression *left = expr->left, *right = expr->right;
usr/src/tools/smatch/src/expand.c
553
static int expand_conditional(struct expression *expr)
usr/src/tools/smatch/src/expand.c
555
struct expression *cond = expr->conditional;
usr/src/tools/smatch/src/expand.c
556
struct expression *valt = expr->cond_true;
usr/src/tools/smatch/src/expand.c
557
struct expression *valf = expr->cond_false;
usr/src/tools/smatch/src/expand.c
57
static int expand_symbol_expression(struct expression *expr)
usr/src/tools/smatch/src/expand.c
586
static void check_assignment(struct expression *expr)
usr/src/tools/smatch/src/expand.c
588
struct expression *right;
usr/src/tools/smatch/src/expand.c
602
static int expand_assignment(struct expression *expr)
usr/src/tools/smatch/src/expand.c
612
static int expand_addressof(struct expression *expr)
usr/src/tools/smatch/src/expand.c
624
static struct expression *constant_symbol_value(struct symbol *sym, int offset)
usr/src/tools/smatch/src/expand.c
626
struct expression *value;
usr/src/tools/smatch/src/expand.c
634
struct expression *entry;
usr/src/tools/smatch/src/expand.c
652
static int expand_dereference(struct expression *expr)
usr/src/tools/smatch/src/expand.c
654
struct expression *unop = expr->unop;
usr/src/tools/smatch/src/expand.c
675
struct expression *right = unop->right;
usr/src/tools/smatch/src/expand.c
684
struct expression *value = constant_symbol_value(sym, offset);
usr/src/tools/smatch/src/expand.c
710
static int simplify_preop(struct expression *expr)
usr/src/tools/smatch/src/expand.c
712
struct expression *op = expr->unop;
usr/src/tools/smatch/src/expand.c
73
static long long get_longlong(struct expression *expr)
usr/src/tools/smatch/src/expand.c
743
static int simplify_float_preop(struct expression *expr)
usr/src/tools/smatch/src/expand.c
745
struct expression *op = expr->unop;
usr/src/tools/smatch/src/expand.c
764
static int expand_postop(struct expression *expr)
usr/src/tools/smatch/src/expand.c
770
static int expand_preop(struct expression *expr)
usr/src/tools/smatch/src/expand.c
804
struct expression *expr;
usr/src/tools/smatch/src/expand.c
812
static int expand_cast(struct expression *expr)
usr/src/tools/smatch/src/expand.c
815
struct expression *target = expr->cast_expression;
usr/src/tools/smatch/src/expand.c
831
static int expand_symbol_call(struct expression *expr, int cost)
usr/src/tools/smatch/src/expand.c
833
struct expression *fn = expr->fn;
usr/src/tools/smatch/src/expand.c
850
static int expand_call(struct expression *expr)
usr/src/tools/smatch/src/expand.c
854
struct expression *fn = expr->fn;
usr/src/tools/smatch/src/expand.c
871
struct expression *expr;
usr/src/tools/smatch/src/expand.c
883
static int expand_pos_expression(struct expression *expr)
usr/src/tools/smatch/src/expand.c
885
struct expression *nested = expr->init_expr;
usr/src/tools/smatch/src/expand.c
89
void cast_value(struct expression *expr, struct symbol *newtype,
usr/src/tools/smatch/src/expand.c
899
struct expression *reuse = nested, *entry;
usr/src/tools/smatch/src/expand.c
90
struct expression *old, struct symbol *oldtype)
usr/src/tools/smatch/src/expand.c
933
static unsigned long bit_offset(const struct expression *expr)
usr/src/tools/smatch/src/expand.c
945
static unsigned long bit_range(const struct expression *expr)
usr/src/tools/smatch/src/expand.c
961
const struct expression *a = _a;
usr/src/tools/smatch/src/expand.c
962
const struct expression *b = _b;
usr/src/tools/smatch/src/expand.c
974
static void verify_nonoverlapping(struct expression_list **list, struct expression *expr)
usr/src/tools/smatch/src/expand.c
976
struct expression *a = NULL;
usr/src/tools/smatch/src/expand.c
979
struct expression *b;
usr/src/tools/smatch/src/expression.c
136
static struct token *parse_type(struct token *token, struct expression **tree)
usr/src/tools/smatch/src/expression.c
150
struct expression **tree)
usr/src/tools/smatch/src/expression.c
152
struct expression *expr = alloc_expression(
usr/src/tools/smatch/src/expression.c
176
struct expression **tree)
usr/src/tools/smatch/src/expression.c
178
struct expression *expr = NULL;
usr/src/tools/smatch/src/expression.c
179
struct expression **p = &expr;
usr/src/tools/smatch/src/expression.c
198
struct expression *e;
usr/src/tools/smatch/src/expression.c
249
static void get_number_value(struct expression *expr, struct token *token)
usr/src/tools/smatch/src/expression.c
373
struct token *primary_expression(struct token *token, struct expression **tree)
usr/src/tools/smatch/src/expression.c
375
struct expression *expr = NULL;
usr/src/tools/smatch/src/expression.c
482
struct expression *expr = NULL;
usr/src/tools/smatch/src/expression.c
498
static struct token *postfix_expression(struct token *token, struct expression **tree, struct expression *cast_init_expr)
usr/src/tools/smatch/src/expression.c
500
struct expression *expr = cast_init_expr;
usr/src/tools/smatch/src/expression.c
508
struct expression *deref = alloc_expression(token->pos, EXPR_PREOP);
usr/src/tools/smatch/src/expression.c
509
struct expression *add = alloc_expression(token->pos, EXPR_BINOP);
usr/src/tools/smatch/src/expression.c
523
struct expression *post = alloc_expression(token->pos, EXPR_POSTOP);
usr/src/tools/smatch/src/expression.c
532
struct expression *inner = alloc_expression(token->pos, EXPR_PREOP);
usr/src/tools/smatch/src/expression.c
539
struct expression *deref = alloc_expression(token->pos, EXPR_DEREF);
usr/src/tools/smatch/src/expression.c
555
struct expression *call = alloc_expression(token->pos, EXPR_CALL);
usr/src/tools/smatch/src/expression.c
573
static struct token *cast_expression(struct token *token, struct expression **tree);
usr/src/tools/smatch/src/expression.c
574
static struct token *unary_expression(struct token *token, struct expression **tree);
usr/src/tools/smatch/src/expression.c
577
struct expression **tree, int type)
usr/src/tools/smatch/src/expression.c
579
struct expression *expr = alloc_expression(token->pos, type);
usr/src/tools/smatch/src/expression.c
605
struct expression *cast = alloc_expression(p->pos, EXPR_CAST);
usr/src/tools/smatch/src/expression.c
61
static struct token *comma_expression(struct token *, struct expression **);
usr/src/tools/smatch/src/expression.c
615
static struct token *unary_expression(struct token *token, struct expression **tree)
usr/src/tools/smatch/src/expression.c
63
struct token *parens_expression(struct token *token, struct expression **expr, const char *where)
usr/src/tools/smatch/src/expression.c
642
struct expression *unop;
usr/src/tools/smatch/src/expression.c
643
struct expression *unary;
usr/src/tools/smatch/src/expression.c
660
struct expression *unop;
usr/src/tools/smatch/src/expression.c
661
struct expression *unary;
usr/src/tools/smatch/src/expression.c
679
struct expression *label = alloc_expression(token->pos, EXPR_LABEL);
usr/src/tools/smatch/src/expression.c
70
struct expression *e = alloc_expression(token->pos, EXPR_STATEMENT);
usr/src/tools/smatch/src/expression.c
704
static struct token *cast_expression(struct token *token, struct expression **tree)
usr/src/tools/smatch/src/expression.c
709
struct expression *cast = alloc_expression(next->pos, EXPR_CAST);
usr/src/tools/smatch/src/expression.c
710
struct expression *v;
usr/src/tools/smatch/src/expression.c
753
struct expression *left = NULL; \
usr/src/tools/smatch/src/expression.c
758
struct expression *top, *right = NULL; \
usr/src/tools/smatch/src/expression.c
779
static struct token *multiplicative_expression(struct token *token, struct expression **tree)
usr/src/tools/smatch/src/expression.c
787
static struct token *additive_expression(struct token *token, struct expression **tree)
usr/src/tools/smatch/src/expression.c
795
static struct token *shift_expression(struct token *token, struct expression **tree)
usr/src/tools/smatch/src/expression.c
803
static struct token *relational_expression(struct token *token, struct expression **tree)
usr/src/tools/smatch/src/expression.c
812
static struct token *equality_expression(struct token *token, struct expression **tree)
usr/src/tools/smatch/src/expression.c
820
static struct token *bitwise_and_expression(struct token *token, struct expression **tree)
usr/src/tools/smatch/src/expression.c
828
static struct token *bitwise_xor_expression(struct token *token, struct expression **tree)
usr/src/tools/smatch/src/expression.c
836
static struct token *bitwise_or_expression(struct token *token, struct expression **tree)
usr/src/tools/smatch/src/expression.c
844
static struct token *logical_and_expression(struct token *token, struct expression **tree)
usr/src/tools/smatch/src/expression.c
852
static struct token *logical_or_expression(struct token *token, struct expression **tree)
usr/src/tools/smatch/src/expression.c
860
struct token *conditional_expression(struct token *token, struct expression **tree)
usr/src/tools/smatch/src/expression.c
864
struct expression *expr = alloc_expression(token->pos, EXPR_CONDITIONAL);
usr/src/tools/smatch/src/expression.c
875
struct token *assignment_expression(struct token *token, struct expression **tree)
usr/src/tools/smatch/src/expression.c
889
struct expression * expr = alloc_expression(token->pos, EXPR_ASSIGNMENT);
usr/src/tools/smatch/src/expression.c
899
static struct token *comma_expression(struct token *token, struct expression **tree)
usr/src/tools/smatch/src/expression.c
907
struct token *parse_expression(struct token *token, struct expression **tree)
usr/src/tools/smatch/src/expression.h
171
struct expression *unop;
usr/src/tools/smatch/src/expression.h
186
struct expression *left, *right;
usr/src/tools/smatch/src/expression.h
190
struct expression *deref;
usr/src/tools/smatch/src/expression.h
196
struct expression *base;
usr/src/tools/smatch/src/expression.h
203
struct expression *cast_expression;
usr/src/tools/smatch/src/expression.h
208
struct expression *conditional, *cond_true, *cond_false;
usr/src/tools/smatch/src/expression.h
212
struct expression *fn;
usr/src/tools/smatch/src/expression.h
226
struct expression *ident_expression;
usr/src/tools/smatch/src/expression.h
231
struct expression *idx_expression;
usr/src/tools/smatch/src/expression.h
236
struct expression *init_expr;
usr/src/tools/smatch/src/expression.h
241
struct expression *down;
usr/src/tools/smatch/src/expression.h
244
struct expression *index;
usr/src/tools/smatch/src/expression.h
250
struct expression *constraint;
usr/src/tools/smatch/src/expression.h
251
struct expression *expr;
usr/src/tools/smatch/src/expression.h
264
int is_zero_constant(struct expression *expr);
usr/src/tools/smatch/src/expression.h
271
int expr_truth_value(struct expression *expr);
usr/src/tools/smatch/src/expression.h
273
long long get_expression_value(struct expression *);
usr/src/tools/smatch/src/expression.h
274
long long const_expression_value(struct expression *);
usr/src/tools/smatch/src/expression.h
275
long long get_expression_value_silent(struct expression *expr);
usr/src/tools/smatch/src/expression.h
278
struct token *parse_expression(struct token *token, struct expression **tree);
usr/src/tools/smatch/src/expression.h
279
struct token *conditional_expression(struct token *token, struct expression **tree);
usr/src/tools/smatch/src/expression.h
280
struct token *primary_expression(struct token *token, struct expression **tree);
usr/src/tools/smatch/src/expression.h
281
struct token *parens_expression(struct token *token, struct expression **expr, const char *where);
usr/src/tools/smatch/src/expression.h
282
struct token *assignment_expression(struct token *token, struct expression **tree);
usr/src/tools/smatch/src/expression.h
286
extern struct symbol *evaluate_expression(struct expression *);
usr/src/tools/smatch/src/expression.h
291
static inline struct expression *alloc_expression(struct position pos, int type)
usr/src/tools/smatch/src/expression.h
293
struct expression *expr = __alloc_expression(0);
usr/src/tools/smatch/src/expression.h
300
static inline struct expression *alloc_const_expression(struct position pos, int value)
usr/src/tools/smatch/src/expression.h
302
struct expression *expr = __alloc_expression(0);
usr/src/tools/smatch/src/expression.h
325
struct token *initializer(struct expression **tree, struct token *token);
usr/src/tools/smatch/src/expression.h
332
void cast_value(struct expression *expr, struct symbol *newtype,
usr/src/tools/smatch/src/expression.h
333
struct expression *old, struct symbol *oldtype);
usr/src/tools/smatch/src/inline.c
107
struct expression *unop = copy_expression(expr->unop);
usr/src/tools/smatch/src/inline.c
116
struct expression *base = copy_expression(expr->base);
usr/src/tools/smatch/src/inline.c
127
struct expression *left = copy_expression(expr->left);
usr/src/tools/smatch/src/inline.c
128
struct expression *right = copy_expression(expr->right);
usr/src/tools/smatch/src/inline.c
138
struct expression *left = copy_expression(expr->left);
usr/src/tools/smatch/src/inline.c
139
struct expression *right = copy_expression(expr->right);
usr/src/tools/smatch/src/inline.c
150
struct expression *deref = copy_expression(expr->deref);
usr/src/tools/smatch/src/inline.c
159
struct expression *cast = expr->cast_expression;
usr/src/tools/smatch/src/inline.c
172
struct expression *cast = copy_expression(expr->cast_expression);
usr/src/tools/smatch/src/inline.c
183
struct expression *cond = copy_expression(expr->conditional);
usr/src/tools/smatch/src/inline.c
184
struct expression *valt = copy_expression(expr->cond_true);
usr/src/tools/smatch/src/inline.c
185
struct expression *valf = copy_expression(expr->cond_false);
usr/src/tools/smatch/src/inline.c
206
struct expression *fn = copy_expression(expr->fn);
usr/src/tools/smatch/src/inline.c
208
struct expression *arg;
usr/src/tools/smatch/src/inline.c
222
struct expression *entry;
usr/src/tools/smatch/src/inline.c
240
struct expression *sub_expr = copy_expression(expr->idx_expression);
usr/src/tools/smatch/src/inline.c
247
struct expression *sub_expr = copy_expression(expr->ident_expression);
usr/src/tools/smatch/src/inline.c
255
struct expression *val = copy_expression(expr->init_expr);
usr/src/tools/smatch/src/inline.c
261
struct expression *val = copy_expression(expr->down);
usr/src/tools/smatch/src/inline.c
268
struct expression *idx = copy_expression(expr->index);
usr/src/tools/smatch/src/inline.c
292
struct expression *expr;
usr/src/tools/smatch/src/inline.c
347
struct expression *expr = copy_expression(stmt->expression);
usr/src/tools/smatch/src/inline.c
348
if (expr == stmt->expression)
usr/src/tools/smatch/src/inline.c
351
stmt->expression = expr;
usr/src/tools/smatch/src/inline.c
355
struct expression *expr = copy_expression(stmt->range_expression);
usr/src/tools/smatch/src/inline.c
356
if (expr == stmt->expression)
usr/src/tools/smatch/src/inline.c
369
struct expression *cond = stmt->if_conditional;
usr/src/tools/smatch/src/inline.c
387
struct expression *retval = copy_expression(stmt->ret_value);
usr/src/tools/smatch/src/inline.c
39
static struct expression * dup_expression(struct expression *expr)
usr/src/tools/smatch/src/inline.c
407
struct expression *expr = copy_expression(stmt->switch_expression);
usr/src/tools/smatch/src/inline.c
41
struct expression *dup = alloc_expression(expr->pos, expr->type);
usr/src/tools/smatch/src/inline.c
507
int inline_function(struct expression *expr, struct symbol *sym)
usr/src/tools/smatch/src/inline.c
515
struct expression *arg;
usr/src/tools/smatch/src/inline.c
78
static struct expression * copy_expression(struct expression *expr)
usr/src/tools/smatch/src/lib.c
220
void expression_error(struct expression *expr, const char *fmt, ...)
usr/src/tools/smatch/src/lib.h
113
extern void expression_error(struct expression *, const char *, ...) FORMAT_ATTR(2);
usr/src/tools/smatch/src/lib.h
285
static inline struct expression *first_expression(struct expression_list *head)
usr/src/tools/smatch/src/lib.h
320
static inline void add_expression(struct expression_list **list, struct expression *expr)
usr/src/tools/smatch/src/lib.h
71
struct expression;
usr/src/tools/smatch/src/lib.h
80
DECLARE_PTR_LIST(expression_list, struct expression);
usr/src/tools/smatch/src/linearize.c
1071
static pseudo_t add_setval(struct entrypoint *ep, struct symbol *ctype, struct expression *val)
usr/src/tools/smatch/src/linearize.c
1131
static pseudo_t linearize_access(struct entrypoint *ep, struct expression *expr)
usr/src/tools/smatch/src/linearize.c
1142
static pseudo_t linearize_inc_dec(struct entrypoint *ep, struct expression *expr, int postop)
usr/src/tools/smatch/src/linearize.c
117
struct expression *expr;
usr/src/tools/smatch/src/linearize.c
1185
static pseudo_t linearize_slice(struct entrypoint *ep, struct expression *expr)
usr/src/tools/smatch/src/linearize.c
1199
static pseudo_t linearize_regular_preop(struct entrypoint *ep, struct expression *expr)
usr/src/tools/smatch/src/linearize.c
1218
static pseudo_t linearize_preop(struct entrypoint *ep, struct expression *expr)
usr/src/tools/smatch/src/linearize.c
1232
static pseudo_t linearize_postop(struct entrypoint *ep, struct expression *expr)
usr/src/tools/smatch/src/linearize.c
1438
static pseudo_t linearize_expression_to_bool(struct entrypoint *ep, struct expression *expr)
usr/src/tools/smatch/src/linearize.c
1446
static pseudo_t linearize_assignment(struct entrypoint *ep, struct expression *expr)
usr/src/tools/smatch/src/linearize.c
1449
struct expression *target = expr->left;
usr/src/tools/smatch/src/linearize.c
1450
struct expression *src = expr->right;
usr/src/tools/smatch/src/linearize.c
1488
static pseudo_t linearize_call_expression(struct entrypoint *ep, struct expression *expr)
usr/src/tools/smatch/src/linearize.c
1490
struct expression *arg, *fn;
usr/src/tools/smatch/src/linearize.c
1556
static pseudo_t linearize_binop_bool(struct entrypoint *ep, struct expression *expr)
usr/src/tools/smatch/src/linearize.c
1569
static pseudo_t linearize_binop(struct entrypoint *ep, struct expression *expr)
usr/src/tools/smatch/src/linearize.c
1590
static pseudo_t linearize_logical_branch(struct entrypoint *ep, struct expression *expr, struct basic_block *bb_true, struct basic_block *bb_false);
usr/src/tools/smatch/src/linearize.c
1592
static pseudo_t linearize_cond_branch(struct entrypoint *ep, struct expression *expr, struct basic_block *bb_true, struct basic_block *bb_false);
usr/src/tools/smatch/src/linearize.c
1594
static pseudo_t linearize_select(struct entrypoint *ep, struct expression *expr)
usr/src/tools/smatch/src/linearize.c
1616
static pseudo_t add_join_conditional(struct entrypoint *ep, struct expression *expr,
usr/src/tools/smatch/src/linearize.c
1635
static pseudo_t linearize_short_conditional(struct entrypoint *ep, struct expression *expr,
usr/src/tools/smatch/src/linearize.c
1636
struct expression *cond,
usr/src/tools/smatch/src/linearize.c
1637
struct expression *expr_false)
usr/src/tools/smatch/src/linearize.c
1662
static pseudo_t linearize_conditional(struct entrypoint *ep, struct expression *expr,
usr/src/tools/smatch/src/linearize.c
1663
struct expression *cond,
usr/src/tools/smatch/src/linearize.c
1664
struct expression *expr_true,
usr/src/tools/smatch/src/linearize.c
1665
struct expression *expr_false)
usr/src/tools/smatch/src/linearize.c
1705
static pseudo_t linearize_logical(struct entrypoint *ep, struct expression *expr)
usr/src/tools/smatch/src/linearize.c
1742
static pseudo_t linearize_compare(struct entrypoint *ep, struct expression *expr)
usr/src/tools/smatch/src/linearize.c
1763
static pseudo_t linearize_cond_branch(struct entrypoint *ep, struct expression *expr, struct basic_block *bb_true, struct basic_block *bb_false)
usr/src/tools/smatch/src/linearize.c
1806
static pseudo_t linearize_logical_branch(struct entrypoint *ep, struct expression *expr, struct basic_block *bb_true, struct basic_block *bb_false)
usr/src/tools/smatch/src/linearize.c
1819
static pseudo_t linearize_cast(struct entrypoint *ep, struct expression *expr)
usr/src/tools/smatch/src/linearize.c
1822
struct expression *orig = expr->cast_expression;
usr/src/tools/smatch/src/linearize.c
1831
static pseudo_t linearize_initializer(struct entrypoint *ep, struct expression *initializer, struct access_data *ad)
usr/src/tools/smatch/src/linearize.c
1835
struct expression *expr;
usr/src/tools/smatch/src/linearize.c
1865
static pseudo_t linearize_expression(struct entrypoint *ep, struct expression *expr)
usr/src/tools/smatch/src/linearize.c
2056
struct expression *expr = stmt->expression;
usr/src/tools/smatch/src/linearize.c
2078
static void add_asm_input(struct entrypoint *ep, struct instruction *insn, struct expression *expr,
usr/src/tools/smatch/src/linearize.c
2090
static void add_asm_output(struct entrypoint *ep, struct instruction *insn, struct expression *expr,
usr/src/tools/smatch/src/linearize.c
2109
struct expression *expr;
usr/src/tools/smatch/src/linearize.c
2182
struct expression *expr = stmt->expression;
usr/src/tools/smatch/src/linearize.c
2201
struct expression *expr = stmt->switch_expression;
usr/src/tools/smatch/src/linearize.c
2230
struct expression *case_to = case_stmt->case_to;
usr/src/tools/smatch/src/linearize.c
2268
struct expression *pre_condition = stmt->iterator_pre_condition;
usr/src/tools/smatch/src/linearize.c
2271
struct expression *post_condition = stmt->iterator_post_condition;
usr/src/tools/smatch/src/linearize.c
2338
return linearize_expression(ep, stmt->expression);
usr/src/tools/smatch/src/linearize.c
2363
struct expression *expr;
usr/src/tools/smatch/src/linearize.c
2415
struct expression *cond = stmt->if_conditional;
usr/src/tools/smatch/src/linearize.c
27
static pseudo_t linearize_expression(struct entrypoint *ep, struct expression *expr);
usr/src/tools/smatch/src/linearize.c
31
static pseudo_t add_setval(struct entrypoint *ep, struct symbol *ctype, struct expression *val);
usr/src/tools/smatch/src/linearize.c
347
struct expression *expr = insn->val;
usr/src/tools/smatch/src/linearize.c
36
static pseudo_t linearize_initializer(struct entrypoint *ep, struct expression *initializer, struct access_data *);
usr/src/tools/smatch/src/linearize.c
920
struct expression *addr,
usr/src/tools/smatch/src/linearize.c
954
struct expression *expr,
usr/src/tools/smatch/src/linearize.h
130
struct expression *val;
usr/src/tools/smatch/src/linearize.h
143
struct expression *context_expr;
usr/src/tools/smatch/src/parse.c
1079
struct expression *expr = NULL;
usr/src/tools/smatch/src/parse.c
1095
struct expression *expr = NULL;
usr/src/tools/smatch/src/parse.c
1148
struct expression *expr = NULL;
usr/src/tools/smatch/src/parse.c
1259
struct expression *args[3];
usr/src/tools/smatch/src/parse.c
1304
struct expression *expr = NULL;
usr/src/tools/smatch/src/parse.c
1466
struct expression *expr = NULL;
usr/src/tools/smatch/src/parse.c
1690
struct expression *expr = NULL;
usr/src/tools/smatch/src/parse.c
1918
struct expression *expr;
usr/src/tools/smatch/src/parse.c
2070
static struct token *expression_statement(struct token *token, struct expression **tree)
usr/src/tools/smatch/src/parse.c
2086
struct expression *op = alloc_expression(token->pos, EXPR_ASM_OPERAND);
usr/src/tools/smatch/src/parse.c
2103
struct expression *expr;
usr/src/tools/smatch/src/parse.c
2159
struct expression *expr;
usr/src/tools/smatch/src/parse.c
2168
struct expression *cond = NULL, *message = NULL;
usr/src/tools/smatch/src/parse.c
2194
static struct statement *make_statement(struct expression *expr)
usr/src/tools/smatch/src/parse.c
2201
stmt->expression = expr;
usr/src/tools/smatch/src/parse.c
2343
struct expression *e1, *e2, *e3;
usr/src/tools/smatch/src/parse.c
2377
struct expression *expr;
usr/src/tools/smatch/src/parse.c
2394
struct expression *expr;
usr/src/tools/smatch/src/parse.c
2489
token = assignment_expression(token, &stmt->expression);
usr/src/tools/smatch/src/parse.c
2490
if (!stmt->expression)
usr/src/tools/smatch/src/parse.c
2494
stmt->context = stmt->expression;
usr/src/tools/smatch/src/parse.c
2495
token = assignment_expression(token, &stmt->expression);
usr/src/tools/smatch/src/parse.c
2496
if (!stmt->expression)
usr/src/tools/smatch/src/parse.c
2552
return expression_statement(token, &stmt->expression);
usr/src/tools/smatch/src/parse.c
2658
static struct expression *identifier_expression(struct token *token)
usr/src/tools/smatch/src/parse.c
2660
struct expression *expr = alloc_expression(token->pos, EXPR_IDENTIFIER);
usr/src/tools/smatch/src/parse.c
2665
static struct expression *index_expression(struct expression *from, struct expression *to)
usr/src/tools/smatch/src/parse.c
2668
struct expression *expr = alloc_expression(from->pos, EXPR_INDEX);
usr/src/tools/smatch/src/parse.c
2682
static struct token *single_initializer(struct expression **ep, struct token *token)
usr/src/tools/smatch/src/parse.c
2686
struct expression **tail = ep;
usr/src/tools/smatch/src/parse.c
2692
struct expression *expr = identifier_expression(token);
usr/src/tools/smatch/src/parse.c
2703
struct expression *expr = identifier_expression(next);
usr/src/tools/smatch/src/parse.c
2709
struct expression *from = NULL, *to = NULL, *expr;
usr/src/tools/smatch/src/parse.c
2744
struct expression *expr;
usr/src/tools/smatch/src/parse.c
2758
struct token *initializer(struct expression **tree, struct token *token)
usr/src/tools/smatch/src/parse.c
2761
struct expression *expr = alloc_expression(token->pos, EXPR_INITIALIZER);
usr/src/tools/smatch/src/parse.c
896
struct expression *expr = sym->initializer;
usr/src/tools/smatch/src/parse.c
926
struct expression *expr = NULL;
usr/src/tools/smatch/src/parse.h
105
struct expression *goto_expression;
usr/src/tools/smatch/src/parse.h
109
struct expression *asm_string;
usr/src/tools/smatch/src/parse.h
116
struct expression *range_expression;
usr/src/tools/smatch/src/parse.h
117
struct expression *range_low;
usr/src/tools/smatch/src/parse.h
118
struct expression *range_high;
usr/src/tools/smatch/src/parse.h
126
extern struct token *parse_expression(struct token *, struct expression **);
usr/src/tools/smatch/src/parse.h
131
extern int show_expression(struct expression *);
usr/src/tools/smatch/src/parse.h
138
extern int inline_function(struct expression *expr, struct symbol *sym);
usr/src/tools/smatch/src/parse.h
56
struct expression *expression;
usr/src/tools/smatch/src/parse.h
57
struct expression *context;
usr/src/tools/smatch/src/parse.h
60
struct expression *ret_value;
usr/src/tools/smatch/src/parse.h
64
struct expression *if_conditional;
usr/src/tools/smatch/src/parse.h
79
struct expression *case_expression;
usr/src/tools/smatch/src/parse.h
80
struct expression *case_to;
usr/src/tools/smatch/src/parse.h
85
struct expression *switch_expression;
usr/src/tools/smatch/src/parse.h
94
struct expression *iterator_pre_condition;
usr/src/tools/smatch/src/parse.h
99
struct expression *iterator_post_condition;
usr/src/tools/smatch/src/pre-process.c
1724
struct expression *expr;
usr/src/tools/smatch/src/show-parse.c
1001
static int show_value(struct expression *expr)
usr/src/tools/smatch/src/show-parse.c
1010
static int show_fvalue(struct expression *expr)
usr/src/tools/smatch/src/show-parse.c
1019
static int show_string_expr(struct expression *expr)
usr/src/tools/smatch/src/show-parse.c
1027
static int show_label_expr(struct expression *expr)
usr/src/tools/smatch/src/show-parse.c
1034
static int show_conditional_expr(struct expression *expr)
usr/src/tools/smatch/src/show-parse.c
1045
static int show_statement_expr(struct expression *expr)
usr/src/tools/smatch/src/show-parse.c
1050
static int show_position_expr(struct expression *expr, struct symbol *base)
usr/src/tools/smatch/src/show-parse.c
1064
static int show_initializer_expr(struct expression *expr, struct symbol *ctype)
usr/src/tools/smatch/src/show-parse.c
1066
struct expression *entry;
usr/src/tools/smatch/src/show-parse.c
1102
struct expression *expr = sym->initializer;
usr/src/tools/smatch/src/show-parse.c
1113
int show_expression(struct expression *expr)
usr/src/tools/smatch/src/show-parse.c
45
static int show_string_expr(struct expression *expr);
usr/src/tools/smatch/src/show-parse.c
539
struct expression *expr = case_stmt->case_expression;
usr/src/tools/smatch/src/show-parse.c
540
struct expression *to = case_stmt->case_to;
usr/src/tools/smatch/src/show-parse.c
615
return show_expression(stmt->expression);
usr/src/tools/smatch/src/show-parse.c
618
struct expression *cond = stmt->if_conditional;
usr/src/tools/smatch/src/show-parse.c
655
struct expression *pre_condition = stmt->iterator_pre_condition;
usr/src/tools/smatch/src/show-parse.c
658
struct expression *post_condition = stmt->iterator_post_condition;
usr/src/tools/smatch/src/show-parse.c
718
int val = show_expression(stmt->expression);
usr/src/tools/smatch/src/show-parse.c
733
static int show_call_expression(struct expression *expr)
usr/src/tools/smatch/src/show-parse.c
736
struct expression *arg, *fn;
usr/src/tools/smatch/src/show-parse.c
778
static int show_comma(struct expression *expr)
usr/src/tools/smatch/src/show-parse.c
784
static int show_binop(struct expression *expr)
usr/src/tools/smatch/src/show-parse.c
807
static int show_slice(struct expression *expr)
usr/src/tools/smatch/src/show-parse.c
815
static int show_regular_preop(struct expression *expr)
usr/src/tools/smatch/src/show-parse.c
837
static int show_address_gen(struct expression *expr)
usr/src/tools/smatch/src/show-parse.c
842
static int show_load_gen(int bits, struct expression *expr, int addr)
usr/src/tools/smatch/src/show-parse.c
850
static void show_store_gen(int bits, int value, struct expression *expr, int addr)
usr/src/tools/smatch/src/show-parse.c
856
static int show_assignment(struct expression *expr)
usr/src/tools/smatch/src/show-parse.c
858
struct expression *target = expr->left;
usr/src/tools/smatch/src/show-parse.c
873
struct expression *expr = stmt->ret_value;
usr/src/tools/smatch/src/show-parse.c
886
static int show_initialization(struct symbol *sym, struct expression *expr)
usr/src/tools/smatch/src/show-parse.c
902
static int show_access(struct expression *expr)
usr/src/tools/smatch/src/show-parse.c
908
static int show_inc_dec(struct expression *expr, int postop)
usr/src/tools/smatch/src/show-parse.c
924
static int show_preop(struct expression *expr)
usr/src/tools/smatch/src/show-parse.c
938
static int show_postop(struct expression *expr)
usr/src/tools/smatch/src/show-parse.c
964
struct expression *expr = sym->initializer;
usr/src/tools/smatch/src/show-parse.c
977
static int show_cast_expr(struct expression *expr)
usr/src/tools/smatch/src/smatch.h
1008
void sql_insert_data_info(struct expression *data, int type, const char *value);
usr/src/tools/smatch/src/smatch.h
1014
void sql_insert_fn_data_link(struct expression *fn, int type, int param, const char *key, const char *value);
usr/src/tools/smatch/src/smatch.h
1021
struct smatch_state *get_mtag_return(struct expression *expr, struct smatch_state *state);
usr/src/tools/smatch/src/smatch.h
1022
struct range_list *swap_mtag_seed(struct expression *expr, struct range_list *rl);
usr/src/tools/smatch/src/smatch.h
1024
void sql_select_return_states(const char *cols, struct expression *call,
usr/src/tools/smatch/src/smatch.h
1026
void sql_select_call_implies(const char *cols, struct expression *call,
usr/src/tools/smatch/src/smatch.h
1060
int get_array_size(struct expression *expr);
usr/src/tools/smatch/src/smatch.h
1061
int get_array_size_bytes(struct expression *expr);
usr/src/tools/smatch/src/smatch.h
1062
int get_array_size_bytes_min(struct expression *expr);
usr/src/tools/smatch/src/smatch.h
1063
int get_array_size_bytes_max(struct expression *expr);
usr/src/tools/smatch/src/smatch.h
1064
struct range_list *get_array_size_bytes_rl(struct expression *expr);
usr/src/tools/smatch/src/smatch.h
1065
int get_real_array_size(struct expression *expr);
usr/src/tools/smatch/src/smatch.h
1068
int get_implied_strlen(struct expression *expr, struct range_list **rl);
usr/src/tools/smatch/src/smatch.h
1069
int get_size_from_strlen(struct expression *expr);
usr/src/tools/smatch/src/smatch.h
1072
int is_capped(struct expression *expr);
usr/src/tools/smatch/src/smatch.h
1076
int is_user_macro(struct expression *expr);
usr/src/tools/smatch/src/smatch.h
1077
int is_capped_user_data(struct expression *expr);
usr/src/tools/smatch/src/smatch.h
1078
int implied_user_data(struct expression *expr, struct range_list **rl);
usr/src/tools/smatch/src/smatch.h
1080
int get_user_rl(struct expression *expr, struct range_list **rl);
usr/src/tools/smatch/src/smatch.h
1081
int is_user_rl(struct expression *expr);
usr/src/tools/smatch/src/smatch.h
1083
bool user_rl_capped(struct expression *expr);
usr/src/tools/smatch/src/smatch.h
1084
struct range_list *var_user_rl(struct expression *expr);
usr/src/tools/smatch/src/smatch.h
1091
struct expression *get_assigned_expr(struct expression *expr);
usr/src/tools/smatch/src/smatch.h
1092
struct expression *get_assigned_expr_name_sym(const char *name, struct symbol *sym);
usr/src/tools/smatch/src/smatch.h
1094
void __add_return_to_param_mapping(struct expression *assign, const char *return_string);
usr/src/tools/smatch/src/smatch.h
1095
char *map_call_to_param_name_sym(struct expression *expr, struct symbol **sym);
usr/src/tools/smatch/src/smatch.h
1103
struct expression *left;
usr/src/tools/smatch/src/smatch.h
1107
struct expression *right;
usr/src/tools/smatch/src/smatch.h
1113
struct expression *left,
usr/src/tools/smatch/src/smatch.h
1116
struct expression *right,
usr/src/tools/smatch/src/smatch.h
1123
int get_comparison(struct expression *left, struct expression *right);
usr/src/tools/smatch/src/smatch.h
1124
int get_comparison_no_extra(struct expression *a, struct expression *b);
usr/src/tools/smatch/src/smatch.h
1126
int possible_comparison(struct expression *a, int comparison, struct expression *b);
usr/src/tools/smatch/src/smatch.h
1127
struct state_list *get_all_comparisons(struct expression *expr);
usr/src/tools/smatch/src/smatch.h
1128
struct state_list *get_all_possible_equal_comparisons(struct expression *expr);
usr/src/tools/smatch/src/smatch.h
1129
void __add_return_comparison(struct expression *call, const char *range);
usr/src/tools/smatch/src/smatch.h
1130
void __add_comparison_info(struct expression *expr, struct expression *call, const char *range);
usr/src/tools/smatch/src/smatch.h
1131
char *get_printed_param_name(struct expression *call, const char *param_name, struct symbol *param_sym);
usr/src/tools/smatch/src/smatch.h
1133
char *expr_equal_to_param(struct expression *expr, int ignore);
usr/src/tools/smatch/src/smatch.h
1134
char *expr_lte_to_param(struct expression *expr, int ignore);
usr/src/tools/smatch/src/smatch.h
1135
char *expr_param_comparison(struct expression *expr, int ignore);
usr/src/tools/smatch/src/smatch.h
1139
int param_compare_limit_is_impossible(struct expression *expr, int left_param, char *left_key, char *value);
usr/src/tools/smatch/src/smatch.h
1141
void __compare_param_limit_hook(struct expression *left_expr, struct expression *right_expr,
usr/src/tools/smatch/src/smatch.h
1144
int impossibly_high_comparison(struct expression *expr);
usr/src/tools/smatch/src/smatch.h
1149
sval_t sval_blank(struct expression *expr);
usr/src/tools/smatch/src/smatch.h
1152
sval_t sval_from_val(struct expression *expr, long long val);
usr/src/tools/smatch/src/smatch.h
1153
sval_t sval_from_fval(struct expression *expr, long double fval);
usr/src/tools/smatch/src/smatch.h
1198
int has_symbol(struct expression *expr, struct symbol *sym);
usr/src/tools/smatch/src/smatch.h
1199
int has_variable(struct expression *expr, struct expression *var);
usr/src/tools/smatch/src/smatch.h
1200
int has_inc_dec(struct expression *expr);
usr/src/tools/smatch/src/smatch.h
1203
struct smatch_state *get_stored_condition(struct expression *expr);
usr/src/tools/smatch/src/smatch.h
1204
struct expression_list *get_conditions(struct expression *expr);
usr/src/tools/smatch/src/smatch.h
1205
struct sm_state *stored_condition_implication_hook(struct expression *expr,
usr/src/tools/smatch/src/smatch.h
1209
struct sm_state *parsed_condition_implication_hook(struct expression *expr,
usr/src/tools/smatch/src/smatch.h
1213
struct sm_state *comparison_implication_hook(struct expression *expr,
usr/src/tools/smatch/src/smatch.h
1218
int get_formatted_string_size(struct expression *call, int arg);
usr/src/tools/smatch/src/smatch.h
1219
int get_formatted_string_min_size(struct expression *call, int arg);
usr/src/tools/smatch/src/smatch.h
1222
int param_was_set(struct expression *expr);
usr/src/tools/smatch/src/smatch.h
1224
void print_limited_param_set(int return_id, char *return_ranges, struct expression *expr);
usr/src/tools/smatch/src/smatch.h
1235
struct expression *get_size_variable(struct expression *buf, int *limit_type);
usr/src/tools/smatch/src/smatch.h
1236
struct expression *get_array_variable(struct expression *size);
usr/src/tools/smatch/src/smatch.h
1237
int buf_comparison_index_ok(struct expression *expr);
usr/src/tools/smatch/src/smatch.h
1240
void mark_untracked(struct expression *expr, int param, char *key, char *value);
usr/src/tools/smatch/src/smatch.h
1241
void add_untracked_param_hook(void (func)(struct expression *call, int param));
usr/src/tools/smatch/src/smatch.h
1242
void add_lost_param_hook(void (func)(struct expression *call, int param));
usr/src/tools/smatch/src/smatch.h
1243
void mark_all_params_untracked(int return_id, char *return_ranges, struct expression *expr);
usr/src/tools/smatch/src/smatch.h
1246
struct state_list *get_strings(struct expression *expr);
usr/src/tools/smatch/src/smatch.h
1247
struct expression *fake_string_from_mtag(mtag_t tag);
usr/src/tools/smatch/src/smatch.h
1253
int get_address_rl(struct expression *expr, struct range_list **rl);
usr/src/tools/smatch/src/smatch.h
1255
int get_member_offset_from_deref(struct expression *expr);
usr/src/tools/smatch/src/smatch.h
1261
int db_var_is_array_limit(struct expression *array, const char *name, struct var_sym_list *vsl);
usr/src/tools/smatch/src/smatch.h
1273
char *get_constraint_str(struct expression *expr);
usr/src/tools/smatch/src/smatch.h
1274
struct constraint_list *get_constraints(struct expression *expr);
usr/src/tools/smatch/src/smatch.h
1275
char *unmet_constraint(struct expression *data, struct expression *offset);
usr/src/tools/smatch/src/smatch.h
1279
int get_param_from_container_of(struct expression *expr);
usr/src/tools/smatch/src/smatch.h
1280
int get_offset_from_container_of(struct expression *expr);
usr/src/tools/smatch/src/smatch.h
1281
char *get_container_name(struct expression *container, struct expression *expr);
usr/src/tools/smatch/src/smatch.h
1285
int get_string_mtag(struct expression *expr, mtag_t *tag);
usr/src/tools/smatch/src/smatch.h
1287
int create_mtag_alias(mtag_t tag, struct expression *expr, mtag_t *new);
usr/src/tools/smatch/src/smatch.h
1288
int expr_to_mtag_offset(struct expression *expr, mtag_t *tag, int *offset);
usr/src/tools/smatch/src/smatch.h
1289
void update_mtag_data(struct expression *expr, struct smatch_state *state);
usr/src/tools/smatch/src/smatch.h
1290
int get_mtag_sval(struct expression *expr, sval_t *sval);
usr/src/tools/smatch/src/smatch.h
1297
struct bit_info *get_bit_info(struct expression *expr);
usr/src/tools/smatch/src/smatch.h
1305
bool is_nospec(struct expression *expr);
usr/src/tools/smatch/src/smatch.h
1310
bool is_nul_terminated(struct expression *expr);
usr/src/tools/smatch/src/smatch.h
1315
bool is_fresh_alloc(struct expression *expr);
usr/src/tools/smatch/src/smatch.h
173
typedef void (func_hook)(const char *fn, struct expression *expr, void *data);
usr/src/tools/smatch/src/smatch.h
174
typedef void (implication_hook)(const char *fn, struct expression *call_expr,
usr/src/tools/smatch/src/smatch.h
175
struct expression *assign_expr, void *data);
usr/src/tools/smatch/src/smatch.h
176
typedef void (return_implies_hook)(struct expression *call_expr,
usr/src/tools/smatch/src/smatch.h
178
typedef int (implied_return_hook)(struct expression *call_expr, void *info, struct range_list **rl);
usr/src/tools/smatch/src/smatch.h
197
int get_implied_return(struct expression *expr, struct range_list **rl);
usr/src/tools/smatch/src/smatch.h
203
struct expression *cur;
usr/src/tools/smatch/src/smatch.h
206
typedef void (modification_hook)(struct sm_state *sm, struct expression *mod_expr);
usr/src/tools/smatch/src/smatch.h
209
struct smatch_state *get_modification_state(struct expression *expr);
usr/src/tools/smatch/src/smatch.h
355
struct smatch_state *get_state_expr(int owner, struct expression *expr);
usr/src/tools/smatch/src/smatch.h
358
struct state_list *get_possible_states_expr(int owner, struct expression *expr);
usr/src/tools/smatch/src/smatch.h
361
struct sm_state *set_state_expr(int owner, struct expression *expr,
usr/src/tools/smatch/src/smatch.h
364
void delete_state_expr(int owner, struct expression *expr);
usr/src/tools/smatch/src/smatch.h
369
void set_true_false_states_expr(int owner, struct expression *expr,
usr/src/tools/smatch/src/smatch.h
389
struct smatch_state *alloc_state_expr(struct expression *expr);
usr/src/tools/smatch/src/smatch.h
390
struct expression *get_argument_from_call_expr(struct expression_list *args,
usr/src/tools/smatch/src/smatch.h
392
struct expression *get_array_expr(struct expression *expr);
usr/src/tools/smatch/src/smatch.h
394
char *expr_to_var(struct expression *expr);
usr/src/tools/smatch/src/smatch.h
395
struct symbol *expr_to_sym(struct expression *expr);
usr/src/tools/smatch/src/smatch.h
396
char *expr_to_str(struct expression *expr);
usr/src/tools/smatch/src/smatch.h
397
char *expr_to_str_sym(struct expression *expr,
usr/src/tools/smatch/src/smatch.h
399
char *expr_to_var_sym(struct expression *expr,
usr/src/tools/smatch/src/smatch.h
401
char *expr_to_known_chunk_sym(struct expression *expr, struct symbol **sym);
usr/src/tools/smatch/src/smatch.h
402
char *expr_to_chunk_sym_vsl(struct expression *expr, struct symbol **sym, struct var_sym_list **vsl);
usr/src/tools/smatch/src/smatch.h
403
int get_complication_score(struct expression *expr);
usr/src/tools/smatch/src/smatch.h
405
int sym_name_is(const char *name, struct expression *expr);
usr/src/tools/smatch/src/smatch.h
406
int get_const_value(struct expression *expr, sval_t *sval);
usr/src/tools/smatch/src/smatch.h
407
int get_value(struct expression *expr, sval_t *val);
usr/src/tools/smatch/src/smatch.h
408
int get_implied_value(struct expression *expr, sval_t *val);
usr/src/tools/smatch/src/smatch.h
409
int get_implied_value_fast(struct expression *expr, sval_t *sval);
usr/src/tools/smatch/src/smatch.h
410
int get_implied_min(struct expression *expr, sval_t *sval);
usr/src/tools/smatch/src/smatch.h
411
int get_implied_max(struct expression *expr, sval_t *val);
usr/src/tools/smatch/src/smatch.h
412
int get_hard_max(struct expression *expr, sval_t *sval);
usr/src/tools/smatch/src/smatch.h
413
int get_fuzzy_min(struct expression *expr, sval_t *min);
usr/src/tools/smatch/src/smatch.h
414
int get_fuzzy_max(struct expression *expr, sval_t *max);
usr/src/tools/smatch/src/smatch.h
415
int get_absolute_min(struct expression *expr, sval_t *sval);
usr/src/tools/smatch/src/smatch.h
416
int get_absolute_max(struct expression *expr, sval_t *sval);
usr/src/tools/smatch/src/smatch.h
417
int parse_call_math(struct expression *expr, char *math, sval_t *val);
usr/src/tools/smatch/src/smatch.h
418
int parse_call_math_rl(struct expression *call, const char *math, struct range_list **rl);
usr/src/tools/smatch/src/smatch.h
419
const char *get_allocation_math(struct expression *expr);
usr/src/tools/smatch/src/smatch.h
420
char *get_value_in_terms_of_parameter_math(struct expression *expr);
usr/src/tools/smatch/src/smatch.h
422
int expr_is_zero(struct expression *expr);
usr/src/tools/smatch/src/smatch.h
423
int known_condition_true(struct expression *expr);
usr/src/tools/smatch/src/smatch.h
424
int known_condition_false(struct expression *expr);
usr/src/tools/smatch/src/smatch.h
425
int implied_condition_true(struct expression *expr);
usr/src/tools/smatch/src/smatch.h
426
int implied_condition_false(struct expression *expr);
usr/src/tools/smatch/src/smatch.h
427
int can_integer_overflow(struct symbol *type, struct expression *expr);
usr/src/tools/smatch/src/smatch.h
432
int is_array(struct expression *expr);
usr/src/tools/smatch/src/smatch.h
433
struct expression *get_array_base(struct expression *expr);
usr/src/tools/smatch/src/smatch.h
434
struct expression *get_array_offset(struct expression *expr);
usr/src/tools/smatch/src/smatch.h
436
struct statement *get_expression_statement(struct expression *expr);
usr/src/tools/smatch/src/smatch.h
437
struct expression *strip_parens(struct expression *expr);
usr/src/tools/smatch/src/smatch.h
438
struct expression *strip_expr(struct expression *expr);
usr/src/tools/smatch/src/smatch.h
439
struct expression *strip_expr_set_parent(struct expression *expr);
usr/src/tools/smatch/src/smatch.h
441
int is_error_return(struct expression *expr);
usr/src/tools/smatch/src/smatch.h
442
int getting_address(struct expression *expr);
usr/src/tools/smatch/src/smatch.h
443
int get_struct_and_member(struct expression *expr, const char **type, const char **member);
usr/src/tools/smatch/src/smatch.h
444
char *get_member_name(struct expression *expr);
usr/src/tools/smatch/src/smatch.h
445
char *get_fnptr_name(struct expression *expr);
usr/src/tools/smatch/src/smatch.h
450
struct expression *get_last_expr_from_expression_stmt(struct expression *expr);
usr/src/tools/smatch/src/smatch.h
458
int get_param_num(struct expression *expr);
usr/src/tools/smatch/src/smatch.h
463
int parent_is_gone(struct expression *expr);
usr/src/tools/smatch/src/smatch.h
466
int expr_equiv(struct expression *one, struct expression *two);
usr/src/tools/smatch/src/smatch.h
474
struct symbol *get_pointer_type(struct expression *expr);
usr/src/tools/smatch/src/smatch.h
475
struct symbol *get_type(struct expression *expr);
usr/src/tools/smatch/src/smatch.h
476
struct symbol *get_final_type(struct expression *expr);
usr/src/tools/smatch/src/smatch.h
479
int expr_unsigned(struct expression *expr);
usr/src/tools/smatch/src/smatch.h
480
int expr_signed(struct expression *expr);
usr/src/tools/smatch/src/smatch.h
482
int is_pointer(struct expression *expr);
usr/src/tools/smatch/src/smatch.h
486
int nr_bits(struct expression *expr);
usr/src/tools/smatch/src/smatch.h
487
int is_void_pointer(struct expression *expr);
usr/src/tools/smatch/src/smatch.h
488
int is_char_pointer(struct expression *expr);
usr/src/tools/smatch/src/smatch.h
489
int is_string(struct expression *expr);
usr/src/tools/smatch/src/smatch.h
491
int is_static(struct expression *expr);
usr/src/tools/smatch/src/smatch.h
492
bool is_local_variable(struct expression *expr);
usr/src/tools/smatch/src/smatch.h
498
struct symbol *get_arg_type(struct expression *fn, int arg);
usr/src/tools/smatch/src/smatch.h
499
struct symbol *get_member_type_from_key(struct expression *expr, const char *key);
usr/src/tools/smatch/src/smatch.h
500
struct symbol *get_arg_type_from_key(struct expression *fn, int param, struct expression *arg, const char *key);
usr/src/tools/smatch/src/smatch.h
501
int is_struct(struct expression *expr);
usr/src/tools/smatch/src/smatch.h
507
void add_ignore_expr(int owner, struct expression *expr);
usr/src/tools/smatch/src/smatch.h
508
int is_ignored_expr(int owner, struct expression *expr);
usr/src/tools/smatch/src/smatch.h
512
struct var_sym_list *expr_to_vsl(struct expression *expr);
usr/src/tools/smatch/src/smatch.h
514
void add_var_sym_expr(struct var_sym_list **list, struct expression *expr);
usr/src/tools/smatch/src/smatch.h
528
void add_tracker_expr(struct tracker_list **list, int owner, struct expression *expr);
usr/src/tools/smatch/src/smatch.h
548
struct expression *get_switch_expr(void);
usr/src/tools/smatch/src/smatch.h
551
void __split_expr(struct expression *expr);
usr/src/tools/smatch/src/smatch.h
564
int is_assigned_call(struct expression *expr);
usr/src/tools/smatch/src/smatch.h
565
int inlinable(struct expression *expr);
usr/src/tools/smatch/src/smatch.h
567
extern struct expression *__inline_fn;
usr/src/tools/smatch/src/smatch.h
579
struct expression *get_faked_expression(void);
usr/src/tools/smatch/src/smatch.h
580
void __fake_struct_member_assignments(struct expression *expr);
usr/src/tools/smatch/src/smatch.h
586
void __split_whole_condition(struct expression *expr);
usr/src/tools/smatch/src/smatch.h
587
void __handle_logic(struct expression *expr);
usr/src/tools/smatch/src/smatch.h
588
int is_condition(struct expression *expr);
usr/src/tools/smatch/src/smatch.h
589
int __handle_condition_assigns(struct expression *expr);
usr/src/tools/smatch/src/smatch.h
590
int __handle_select_assigns(struct expression *expr);
usr/src/tools/smatch/src/smatch.h
591
int __handle_expr_statement_assigns(struct expression *expr);
usr/src/tools/smatch/src/smatch.h
595
void param_limit_implications(struct expression *expr, int param, char *key, char *value, struct stree **implied);
usr/src/tools/smatch/src/smatch.h
596
struct stree *__implied_case_stree(struct expression *switch_expr,
usr/src/tools/smatch/src/smatch.h
601
int assume(struct expression *expr);
usr/src/tools/smatch/src/smatch.h
603
int impossible_assumption(struct expression *left, int op, sval_t sval);
usr/src/tools/smatch/src/smatch.h
702
int get_absolute_min_helper(struct expression *expr, sval_t *sval);
usr/src/tools/smatch/src/smatch.h
703
int get_absolute_max_helper(struct expression *expr, sval_t *sval);
usr/src/tools/smatch/src/smatch.h
706
int get_db_type_rl(struct expression *expr, struct range_list **rl);
usr/src/tools/smatch/src/smatch.h
708
int get_mtag_rl(struct expression *expr, struct range_list **rl);
usr/src/tools/smatch/src/smatch.h
710
int get_array_rl(struct expression *expr, struct range_list **rl);
usr/src/tools/smatch/src/smatch.h
730
void __match_nullify_path_hook(const char *fn, struct expression *expr,
usr/src/tools/smatch/src/smatch.h
741
struct sm_state *get_sm_state_expr(int owner, struct expression *expr);
usr/src/tools/smatch/src/smatch.h
779
void __save_switch_states(struct expression *switch_expr);
usr/src/tools/smatch/src/smatch.h
782
void __merge_switches(struct expression *switch_expr, struct range_list *case_rl);
usr/src/tools/smatch/src/smatch.h
800
void __pass_case_to_client(struct expression *switch_expr,
usr/src/tools/smatch/src/smatch.h
903
void add_member_info_callback(int owner, void (*callback)(struct expression *call, int param, char *printed_name, struct sm_state *sm));
usr/src/tools/smatch/src/smatch.h
904
void add_caller_info_callback(int owner, void (*callback)(struct expression *call, int param, char *printed_name, struct sm_state *sm));
usr/src/tools/smatch/src/smatch.h
905
void add_split_return_callback(void (*fn)(int return_id, char *return_ranges, struct expression *returned_expr));
usr/src/tools/smatch/src/smatch.h
906
void add_returned_member_callback(int owner, void (*callback)(int return_id, char *return_ranges, struct expression *expr, char *printed_name, struct smatch_state *state));
usr/src/tools/smatch/src/smatch.h
907
void select_call_implies_hook(int type, void (*callback)(struct expression *call, struct expression *arg, char *key, char *value));
usr/src/tools/smatch/src/smatch.h
908
void select_return_implies_hook(int type, void (*callback)(struct expression *call, struct expression *arg, char *key, char *value));
usr/src/tools/smatch/src/smatch.h
909
struct range_list *db_return_vals(struct expression *expr);
usr/src/tools/smatch/src/smatch.h
911
struct range_list *db_return_vals_no_args(struct expression *expr);
usr/src/tools/smatch/src/smatch.h
912
char *return_state_to_var_sym(struct expression *expr, int param, const char *key, struct symbol **sym);
usr/src/tools/smatch/src/smatch.h
913
char *get_chunk_from_key(struct expression *arg, char *key, struct symbol **sym, struct var_sym_list **vsl);
usr/src/tools/smatch/src/smatch.h
914
char *get_variable_from_key(struct expression *arg, const char *key, struct symbol **sym);
usr/src/tools/smatch/src/smatch.h
919
const char *get_mtag_name_expr(struct expression *expr);
usr/src/tools/smatch/src/smatch.h
920
char *get_data_info_name(struct expression *expr);
usr/src/tools/smatch/src/smatch.h
921
char *sm_to_arg_name(struct expression *expr, struct sm_state *sm);
usr/src/tools/smatch/src/smatch.h
996
void sql_insert_caller_info(struct expression *call, int type, int param,
usr/src/tools/smatch/src/smatch_about_fn_ptr_arg.c
109
static char *get_data_member(char *fn_member, struct expression *expr, struct symbol **sym)
usr/src/tools/smatch/src/smatch_about_fn_ptr_arg.c
147
static void match_assign_function(struct expression *expr)
usr/src/tools/smatch/src/smatch_about_fn_ptr_arg.c
149
struct expression *right, *arg;
usr/src/tools/smatch/src/smatch_about_fn_ptr_arg.c
185
static int is_recursive_call(struct expression *call)
usr/src/tools/smatch/src/smatch_about_fn_ptr_arg.c
194
static void check_passes_fn_and_data(struct expression *call, struct expression *fn, char *key, char *value)
usr/src/tools/smatch/src/smatch_about_fn_ptr_arg.c
196
struct expression *arg;
usr/src/tools/smatch/src/smatch_about_fn_ptr_arg.c
33
static int assigns_parameters(struct expression *fn, struct expression *arg)
usr/src/tools/smatch/src/smatch_about_fn_ptr_arg.c
51
static void link_function_arg(struct expression *fn, int param, struct expression *arg)
usr/src/tools/smatch/src/smatch_about_fn_ptr_arg.c
72
struct expression *next_fn;
usr/src/tools/smatch/src/smatch_about_fn_ptr_arg.c
73
static void match_assign_param(struct expression *expr)
usr/src/tools/smatch/src/smatch_address.c
116
int get_member_offset_from_deref(struct expression *expr)
usr/src/tools/smatch/src/smatch_address.c
214
static bool handle_fn_address(struct expression *expr, struct range_list **rl)
usr/src/tools/smatch/src/smatch_address.c
22
static bool is_non_null_array(struct expression *expr)
usr/src/tools/smatch/src/smatch_address.c
232
int get_address_rl(struct expression *expr, struct range_list **rl)
usr/src/tools/smatch/src/smatch_address.c
234
struct expression *unop;
usr/src/tools/smatch/src/smatch_address.c
283
struct expression *array;
usr/src/tools/smatch/src/smatch_address.c
284
struct expression *offset_expr;
usr/src/tools/smatch/src/smatch_annotate.c
26
static int param_caps_return(struct expression *call, void *_arg, struct range_list **res)
usr/src/tools/smatch/src/smatch_annotate.c
29
struct expression *expr;
usr/src/tools/smatch/src/smatch_array_values.c
109
int get_array_rl(struct expression *expr, struct range_list **rl)
usr/src/tools/smatch/src/smatch_array_values.c
111
struct expression *array;
usr/src/tools/smatch/src/smatch_array_values.c
159
static void match_assign(struct expression *expr)
usr/src/tools/smatch/src/smatch_array_values.c
161
struct expression *left, *array;
usr/src/tools/smatch/src/smatch_array_values.c
191
static void mark_strings_unknown(const char *fn, struct expression *expr, void *_arg)
usr/src/tools/smatch/src/smatch_array_values.c
193
struct expression *dest;
usr/src/tools/smatch/src/smatch_array_values.c
41
static int is_file_local(struct expression *array)
usr/src/tools/smatch/src/smatch_array_values.c
57
static char *get_toplevel_name(struct expression *array)
usr/src/tools/smatch/src/smatch_array_values.c
77
static char *get_member_array(struct expression *array)
usr/src/tools/smatch/src/smatch_array_values.c
90
static char *get_array_name(struct expression *array)
usr/src/tools/smatch/src/smatch_assigned_expr.c
102
static void record_param_assignment(struct expression *expr, int param, char *key, char *value)
usr/src/tools/smatch/src/smatch_assigned_expr.c
104
struct expression *arg, *right;
usr/src/tools/smatch/src/smatch_assigned_expr.c
31
static struct expression *skip_mod;
usr/src/tools/smatch/src/smatch_assigned_expr.c
33
static void undef(struct sm_state *sm, struct expression *mod_expr)
usr/src/tools/smatch/src/smatch_assigned_expr.c
40
struct expression *get_assigned_expr(struct expression *expr)
usr/src/tools/smatch/src/smatch_assigned_expr.c
47
return (struct expression *)state->data;
usr/src/tools/smatch/src/smatch_assigned_expr.c
50
struct expression *get_assigned_expr_name_sym(const char *name, struct symbol *sym)
usr/src/tools/smatch/src/smatch_assigned_expr.c
57
return (struct expression *)state->data;
usr/src/tools/smatch/src/smatch_assigned_expr.c
60
static void match_assignment(struct expression *expr)
usr/src/tools/smatch/src/smatch_assigned_expr.c
62
static struct expression *ignored_expr;
usr/src/tools/smatch/src/smatch_bits.c
114
static bool is_loop_iterator(struct expression *expr)
usr/src/tools/smatch/src/smatch_bits.c
131
static bool handled_by_assign_hook(struct expression *expr)
usr/src/tools/smatch/src/smatch_bits.c
148
static void match_modify(struct sm_state *sm, struct expression *mod_expr)
usr/src/tools/smatch/src/smatch_bits.c
240
struct bit_info *get_bit_info(struct expression *expr)
usr/src/tools/smatch/src/smatch_bits.c
304
static void match_compare(struct expression *expr)
usr/src/tools/smatch/src/smatch_bits.c
322
static void match_assign(struct expression *expr)
usr/src/tools/smatch/src/smatch_bits.c
349
static void match_condition(struct expression *expr)
usr/src/tools/smatch/src/smatch_bits.c
378
static void match_call_info(struct expression *expr)
usr/src/tools/smatch/src/smatch_bits.c
381
struct expression *arg;
usr/src/tools/smatch/src/smatch_bits.c
406
static void struct_member_callback(struct expression *call, int param, char *printed_name, struct sm_state *sm)
usr/src/tools/smatch/src/smatch_buf_comparison.c
112
static struct smatch_state *alloc_compare_size(int limit_type, struct expression *expr)
usr/src/tools/smatch/src/smatch_buf_comparison.c
128
static int bytes_per_element(struct expression *expr)
usr/src/tools/smatch/src/smatch_buf_comparison.c
143
static void db_save_type_links(struct expression *array, int type_limit, struct expression *size)
usr/src/tools/smatch/src/smatch_buf_comparison.c
153
static void match_alloc_helper(struct expression *pointer, struct expression *size)
usr/src/tools/smatch/src/smatch_buf_comparison.c
155
struct expression *tmp;
usr/src/tools/smatch/src/smatch_buf_comparison.c
173
struct expression *mult_left, *mult_right;
usr/src/tools/smatch/src/smatch_buf_comparison.c
205
static void match_alloc(const char *fn, struct expression *expr, void *_size_arg)
usr/src/tools/smatch/src/smatch_buf_comparison.c
208
struct expression *pointer, *call, *arg;
usr/src/tools/smatch/src/smatch_buf_comparison.c
216
static void match_calloc(const char *fn, struct expression *expr, void *_start_arg)
usr/src/tools/smatch/src/smatch_buf_comparison.c
219
struct expression *pointer, *call, *arg;
usr/src/tools/smatch/src/smatch_buf_comparison.c
244
struct expression *get_size_variable(struct expression *buf, int *limit_type)
usr/src/tools/smatch/src/smatch_buf_comparison.c
255
struct expression *get_array_variable(struct expression *size)
usr/src/tools/smatch/src/smatch_buf_comparison.c
265
static void array_check(struct expression *expr)
usr/src/tools/smatch/src/smatch_buf_comparison.c
267
struct expression *array;
usr/src/tools/smatch/src/smatch_buf_comparison.c
268
struct expression *size;
usr/src/tools/smatch/src/smatch_buf_comparison.c
269
struct expression *offset;
usr/src/tools/smatch/src/smatch_buf_comparison.c
350
int db_var_is_array_limit(struct expression *array, const char *name, struct var_sym_list *vsl)
usr/src/tools/smatch/src/smatch_buf_comparison.c
367
int buf_comparison_index_ok(struct expression *expr)
usr/src/tools/smatch/src/smatch_buf_comparison.c
369
struct expression *array;
usr/src/tools/smatch/src/smatch_buf_comparison.c
370
struct expression *size;
usr/src/tools/smatch/src/smatch_buf_comparison.c
371
struct expression *offset;
usr/src/tools/smatch/src/smatch_buf_comparison.c
396
static int known_access_ok_numbers(struct expression *expr)
usr/src/tools/smatch/src/smatch_buf_comparison.c
398
struct expression *array;
usr/src/tools/smatch/src/smatch_buf_comparison.c
399
struct expression *offset;
usr/src/tools/smatch/src/smatch_buf_comparison.c
416
static void array_check_data_info(struct expression *expr)
usr/src/tools/smatch/src/smatch_buf_comparison.c
418
struct expression *array;
usr/src/tools/smatch/src/smatch_buf_comparison.c
419
struct expression *offset;
usr/src/tools/smatch/src/smatch_buf_comparison.c
476
static int is_sizeof(struct expression *expr)
usr/src/tools/smatch/src/smatch_buf_comparison.c
488
static int match_size_binop(struct expression *size, struct expression *expr, int *limit_type)
usr/src/tools/smatch/src/smatch_buf_comparison.c
49
struct expression *expr1, *expr2;
usr/src/tools/smatch/src/smatch_buf_comparison.c
491
struct expression *left;
usr/src/tools/smatch/src/smatch_buf_comparison.c
531
static char *buf_size_param_comparison(struct expression *array, struct expression_list *args, int *limit_type)
usr/src/tools/smatch/src/smatch_buf_comparison.c
533
struct expression *tmp, *arg;
usr/src/tools/smatch/src/smatch_buf_comparison.c
534
struct expression *size;
usr/src/tools/smatch/src/smatch_buf_comparison.c
564
static void match_call(struct expression *call)
usr/src/tools/smatch/src/smatch_buf_comparison.c
566
struct expression *arg;
usr/src/tools/smatch/src/smatch_buf_comparison.c
59
static void match_link_modify(struct sm_state *sm, struct expression *mod_expr)
usr/src/tools/smatch/src/smatch_buf_comparison.c
61
struct expression *expr;
usr/src/tools/smatch/src/smatch_buf_comparison.c
615
struct expression *array_expr;
usr/src/tools/smatch/src/smatch_buf_comparison.c
616
struct expression *size_expr;
usr/src/tools/smatch/src/smatch_buf_comparison.c
638
static void set_implied(struct expression *call, struct expression *array_expr, char *key, char *value)
usr/src/tools/smatch/src/smatch_buf_comparison.c
640
struct expression *size_expr;
usr/src/tools/smatch/src/smatch_buf_comparison.c
690
static void set_used(struct expression *expr)
usr/src/tools/smatch/src/smatch_buf_comparison.c
692
struct expression *parent;
usr/src/tools/smatch/src/smatch_buf_comparison.c
693
struct expression *array;
usr/src/tools/smatch/src/smatch_buf_comparison.c
694
struct expression *offset;
usr/src/tools/smatch/src/smatch_buf_comparison.c
723
static int match_assign_array(struct expression *expr)
usr/src/tools/smatch/src/smatch_buf_comparison.c
729
static int match_assign_size(struct expression *expr)
usr/src/tools/smatch/src/smatch_buf_comparison.c
731
struct expression *right, *size, *array;
usr/src/tools/smatch/src/smatch_buf_comparison.c
762
static void match_assign(struct expression *expr)
usr/src/tools/smatch/src/smatch_buf_comparison.c
772
static void match_copy(const char *fn, struct expression *expr, void *unused)
usr/src/tools/smatch/src/smatch_buf_comparison.c
774
struct expression *src, *size;
usr/src/tools/smatch/src/smatch_buf_size.c
126
static int bytes_per_element(struct expression *expr)
usr/src/tools/smatch/src/smatch_buf_size.c
150
static int bytes_to_elements(struct expression *expr, int bytes)
usr/src/tools/smatch/src/smatch_buf_size.c
160
static int elements_to_bytes(struct expression *expr, int elements)
usr/src/tools/smatch/src/smatch_buf_size.c
168
static int get_initializer_size(struct expression *expr)
usr/src/tools/smatch/src/smatch_buf_size.c
174
struct expression *tmp;
usr/src/tools/smatch/src/smatch_buf_size.c
209
static struct range_list *size_from_db_type(struct expression *expr)
usr/src/tools/smatch/src/smatch_buf_size.c
239
static struct range_list *size_from_db_symbol(struct expression *expr)
usr/src/tools/smatch/src/smatch_buf_size.c
258
static struct range_list *size_from_db(struct expression *expr)
usr/src/tools/smatch/src/smatch_buf_size.c
268
static void db_returns_buf_size(struct expression *expr, int param, char *unused, char *math)
usr/src/tools/smatch/src/smatch_buf_size.c
270
struct expression *call;
usr/src/tools/smatch/src/smatch_buf_size.c
300
int get_real_array_size(struct expression *expr)
usr/src/tools/smatch/src/smatch_buf_size.c
311
static int get_size_from_initializer(struct expression *expr)
usr/src/tools/smatch/src/smatch_buf_size.c
320
static struct range_list *get_stored_size_bytes(struct expression *expr)
usr/src/tools/smatch/src/smatch_buf_size.c
330
static int get_bytes_from_address(struct expression *expr)
usr/src/tools/smatch/src/smatch_buf_size.c
34
static char *get_fn_name(struct expression *expr)
usr/src/tools/smatch/src/smatch_buf_size.c
351
static struct expression *remove_addr_fluff(struct expression *expr)
usr/src/tools/smatch/src/smatch_buf_size.c
353
struct expression *tmp;
usr/src/tools/smatch/src/smatch_buf_size.c
424
static int get_stored_size_end_struct_bytes(struct expression *expr)
usr/src/tools/smatch/src/smatch_buf_size.c
43
static int is_allocation_function(struct expression *expr)
usr/src/tools/smatch/src/smatch_buf_size.c
473
struct range_list *get_array_size_bytes_rl(struct expression *expr)
usr/src/tools/smatch/src/smatch_buf_size.c
542
int get_array_size_bytes(struct expression *expr)
usr/src/tools/smatch/src/smatch_buf_size.c
555
int get_array_size_bytes_max(struct expression *expr)
usr/src/tools/smatch/src/smatch_buf_size.c
572
int get_array_size_bytes_min(struct expression *expr)
usr/src/tools/smatch/src/smatch_buf_size.c
594
int get_array_size(struct expression *expr)
usr/src/tools/smatch/src/smatch_buf_size.c
601
static struct expression *strip_ampersands(struct expression *expr)
usr/src/tools/smatch/src/smatch_buf_size.c
615
static void info_record_alloction(struct expression *buffer, struct range_list *rl)
usr/src/tools/smatch/src/smatch_buf_size.c
635
static void store_alloc(struct expression *expr, struct range_list *rl)
usr/src/tools/smatch/src/smatch_buf_size.c
664
static bool is_array_base(struct expression *expr)
usr/src/tools/smatch/src/smatch_buf_size.c
674
static void match_array_assignment(struct expression *expr)
usr/src/tools/smatch/src/smatch_buf_size.c
676
struct expression *left;
usr/src/tools/smatch/src/smatch_buf_size.c
677
struct expression *right;
usr/src/tools/smatch/src/smatch_buf_size.c
720
static void match_alloc(const char *fn, struct expression *expr, void *_size_arg)
usr/src/tools/smatch/src/smatch_buf_size.c
723
struct expression *right;
usr/src/tools/smatch/src/smatch_buf_size.c
724
struct expression *arg;
usr/src/tools/smatch/src/smatch_buf_size.c
734
static void match_calloc(const char *fn, struct expression *expr, void *_param)
usr/src/tools/smatch/src/smatch_buf_size.c
736
struct expression *right;
usr/src/tools/smatch/src/smatch_buf_size.c
737
struct expression *size, *nr, *mult;
usr/src/tools/smatch/src/smatch_buf_size.c
751
static void match_page(const char *fn, struct expression *expr, void *_unused)
usr/src/tools/smatch/src/smatch_buf_size.c
761
static void match_strndup(const char *fn, struct expression *expr, void *unused)
usr/src/tools/smatch/src/smatch_buf_size.c
763
struct expression *fn_expr;
usr/src/tools/smatch/src/smatch_buf_size.c
764
struct expression *size_expr;
usr/src/tools/smatch/src/smatch_buf_size.c
778
static void match_alloc_pages(const char *fn, struct expression *expr, void *_order_arg)
usr/src/tools/smatch/src/smatch_buf_size.c
781
struct expression *right;
usr/src/tools/smatch/src/smatch_buf_size.c
782
struct expression *arg;
usr/src/tools/smatch/src/smatch_buf_size.c
799
static int is_type_bytes(struct range_list *rl, struct expression *arg)
usr/src/tools/smatch/src/smatch_buf_size.c
821
static void match_call(struct expression *expr)
usr/src/tools/smatch/src/smatch_buf_size.c
823
struct expression *arg;
usr/src/tools/smatch/src/smatch_buf_size.c
848
static void struct_member_callback(struct expression *call, int param, char *printed_name, struct sm_state *sm)
usr/src/tools/smatch/src/smatch_buf_size.c
866
static void print_returned_allocations(int return_id, char *return_ranges, struct expression *expr)
usr/src/tools/smatch/src/smatch_buf_size.c
98
static void set_size_undefined(struct sm_state *sm, struct expression *mod_expr)
usr/src/tools/smatch/src/smatch_capped.c
143
static void match_condition(struct expression *expr)
usr/src/tools/smatch/src/smatch_capped.c
145
struct expression *left, *right;
usr/src/tools/smatch/src/smatch_capped.c
199
static void match_assign(struct expression *expr)
usr/src/tools/smatch/src/smatch_capped.c
219
static void match_caller_info(struct expression *expr)
usr/src/tools/smatch/src/smatch_capped.c
221
struct expression *tmp;
usr/src/tools/smatch/src/smatch_capped.c
236
static void struct_member_callback(struct expression *call, int param, char *printed_name, struct sm_state *sm)
usr/src/tools/smatch/src/smatch_capped.c
249
static void print_return_implies_capped(int return_id, char *return_ranges, struct expression *expr)
usr/src/tools/smatch/src/smatch_capped.c
321
static void db_return_states_capped(struct expression *expr, int param, char *key, char *value)
usr/src/tools/smatch/src/smatch_capped.c
36
static void set_uncapped(struct sm_state *sm, struct expression *mod_expr)
usr/src/tools/smatch/src/smatch_capped.c
51
static int is_capped_macro(struct expression *expr)
usr/src/tools/smatch/src/smatch_capped.c
69
int is_capped(struct expression *expr)
usr/src/tools/smatch/src/smatch_common_functions.c
22
static int match_strlen(struct expression *call, void *unused, struct range_list **rl)
usr/src/tools/smatch/src/smatch_common_functions.c
24
struct expression *str;
usr/src/tools/smatch/src/smatch_common_functions.c
45
static int match_strnlen(struct expression *call, void *unused, struct range_list **rl)
usr/src/tools/smatch/src/smatch_common_functions.c
47
struct expression *limit;
usr/src/tools/smatch/src/smatch_common_functions.c
69
static int match_sprintf(struct expression *call, void *_arg, struct range_list **rl)
usr/src/tools/smatch/src/smatch_comparison.c
1025
struct expression *left_expr,
usr/src/tools/smatch/src/smatch_comparison.c
1034
struct expression *right_expr;
usr/src/tools/smatch/src/smatch_comparison.c
1072
struct expression *tmp_expr = left_expr;
usr/src/tools/smatch/src/smatch_comparison.c
1120
struct expression *left_expr,
usr/src/tools/smatch/src/smatch_comparison.c
1122
struct expression *right_expr,
usr/src/tools/smatch/src/smatch_comparison.c
1137
static void iter_modify(struct sm_state *sm, struct expression *mod_expr)
usr/src/tools/smatch/src/smatch_comparison.c
1148
static void handle_for_loops(struct expression *expr, char *state_name, struct smatch_state *false_state)
usr/src/tools/smatch/src/smatch_comparison.c
1208
static int is_plus_one(struct expression *expr)
usr/src/tools/smatch/src/smatch_comparison.c
1219
static int is_minus_one(struct expression *expr)
usr/src/tools/smatch/src/smatch_comparison.c
1230
static void move_plus_to_minus_helper(struct expression **left_p, struct expression **right_p)
usr/src/tools/smatch/src/smatch_comparison.c
1232
struct expression *left = *left_p;
usr/src/tools/smatch/src/smatch_comparison.c
1233
struct expression *right = *right_p;
usr/src/tools/smatch/src/smatch_comparison.c
1250
static void move_plus_to_minus(struct expression **left_p, struct expression **right_p)
usr/src/tools/smatch/src/smatch_comparison.c
1259
static void handle_comparison(struct expression *left_expr, int op, struct expression *right_expr, char **_state_name, struct smatch_state **_false_state)
usr/src/tools/smatch/src/smatch_comparison.c
1316
struct expression *tmp_expr = left_expr;
usr/src/tools/smatch/src/smatch_comparison.c
1360
void __comparison_match_condition(struct expression *expr)
usr/src/tools/smatch/src/smatch_comparison.c
1362
struct expression *left, *right, *new_left, *new_right, *tmp;
usr/src/tools/smatch/src/smatch_comparison.c
1419
struct expression *left_expr,
usr/src/tools/smatch/src/smatch_comparison.c
1422
struct expression *right_expr,
usr/src/tools/smatch/src/smatch_comparison.c
1430
struct expression *tmp_expr = left_expr;
usr/src/tools/smatch/src/smatch_comparison.c
1458
static void add_comparison(struct expression *left, int comparison, struct expression *right)
usr/src/tools/smatch/src/smatch_comparison.c
1477
struct expression *tmp_expr = left;
usr/src/tools/smatch/src/smatch_comparison.c
1507
static void match_assign_add(struct expression *expr)
usr/src/tools/smatch/src/smatch_comparison.c
1509
struct expression *right;
usr/src/tools/smatch/src/smatch_comparison.c
1510
struct expression *r_left, *r_right;
usr/src/tools/smatch/src/smatch_comparison.c
1531
static void match_assign_sub(struct expression *expr)
usr/src/tools/smatch/src/smatch_comparison.c
1533
struct expression *right;
usr/src/tools/smatch/src/smatch_comparison.c
1534
struct expression *r_left, *r_right;
usr/src/tools/smatch/src/smatch_comparison.c
1558
static void match_assign_divide(struct expression *expr)
usr/src/tools/smatch/src/smatch_comparison.c
1560
struct expression *right;
usr/src/tools/smatch/src/smatch_comparison.c
1561
struct expression *r_left, *r_right;
usr/src/tools/smatch/src/smatch_comparison.c
1573
static void match_binop_assign(struct expression *expr)
usr/src/tools/smatch/src/smatch_comparison.c
1575
struct expression *right;
usr/src/tools/smatch/src/smatch_comparison.c
1586
static void copy_comparisons(struct expression *left, struct expression *right)
usr/src/tools/smatch/src/smatch_comparison.c
1595
struct expression *expr;
usr/src/tools/smatch/src/smatch_comparison.c
1639
static void match_assign(struct expression *expr)
usr/src/tools/smatch/src/smatch_comparison.c
1641
struct expression *right;
usr/src/tools/smatch/src/smatch_comparison.c
1694
static int get_comparison_helper(struct expression *a, struct expression *b, bool use_extra)
usr/src/tools/smatch/src/smatch_comparison.c
1749
int get_comparison(struct expression *a, struct expression *b)
usr/src/tools/smatch/src/smatch_comparison.c
1754
int get_comparison_no_extra(struct expression *a, struct expression *b)
usr/src/tools/smatch/src/smatch_comparison.c
1759
int possible_comparison(struct expression *a, int comparison, struct expression *b)
usr/src/tools/smatch/src/smatch_comparison.c
1817
struct state_list *get_all_comparisons(struct expression *expr)
usr/src/tools/smatch/src/smatch_comparison.c
1841
struct state_list *get_all_possible_equal_comparisons(struct expression *expr)
usr/src/tools/smatch/src/smatch_comparison.c
1868
struct state_list *get_all_possible_not_equal_comparisons(struct expression *expr)
usr/src/tools/smatch/src/smatch_comparison.c
1899
static void update_links_from_call(struct expression *left,
usr/src/tools/smatch/src/smatch_comparison.c
1901
struct expression *right)
usr/src/tools/smatch/src/smatch_comparison.c
1910
struct expression *expr;
usr/src/tools/smatch/src/smatch_comparison.c
1954
void __add_return_comparison(struct expression *call, const char *range)
usr/src/tools/smatch/src/smatch_comparison.c
1956
struct expression *arg;
usr/src/tools/smatch/src/smatch_comparison.c
1967
void __add_comparison_info(struct expression *expr, struct expression *call, const char *range)
usr/src/tools/smatch/src/smatch_comparison.c
1972
static char *get_mask_comparison(struct expression *expr, int ignore)
usr/src/tools/smatch/src/smatch_comparison.c
1974
struct expression *tmp, *right;
usr/src/tools/smatch/src/smatch_comparison.c
1999
static char *range_comparison_to_param_helper(struct expression *expr, char starts_with, int ignore)
usr/src/tools/smatch/src/smatch_comparison.c
207
static int comparison_from_extra(struct expression *a, struct expression *b)
usr/src/tools/smatch/src/smatch_comparison.c
2070
char *expr_equal_to_param(struct expression *expr, int ignore)
usr/src/tools/smatch/src/smatch_comparison.c
2075
char *expr_lte_to_param(struct expression *expr, int ignore)
usr/src/tools/smatch/src/smatch_comparison.c
2080
char *expr_param_comparison(struct expression *expr, int ignore)
usr/src/tools/smatch/src/smatch_comparison.c
2114
char *get_printed_param_name(struct expression *call, const char *param_name, struct symbol *param_sym)
usr/src/tools/smatch/src/smatch_comparison.c
2116
struct expression *arg;
usr/src/tools/smatch/src/smatch_comparison.c
2149
static void match_call_info(struct expression *expr)
usr/src/tools/smatch/src/smatch_comparison.c
2151
struct expression *arg;
usr/src/tools/smatch/src/smatch_comparison.c
2219
static void struct_member_callback(struct expression *call, int param, char *printed_name, struct sm_state *link_sm)
usr/src/tools/smatch/src/smatch_comparison.c
2265
static void print_return_value_comparison(int return_id, char *return_ranges, struct expression *expr)
usr/src/tools/smatch/src/smatch_comparison.c
2306
static void print_return_comparison(int return_id, char *return_ranges, struct expression *expr)
usr/src/tools/smatch/src/smatch_comparison.c
2453
static void db_return_comparison(struct expression *expr, int left_param, char *key, char *value)
usr/src/tools/smatch/src/smatch_comparison.c
2455
struct expression *left_arg, *right_arg;
usr/src/tools/smatch/src/smatch_comparison.c
2510
int param_compare_limit_is_impossible(struct expression *expr, int left_param, char *left_key, char *value)
usr/src/tools/smatch/src/smatch_comparison.c
2516
struct expression *left_arg, *right_arg;
usr/src/tools/smatch/src/smatch_comparison.c
2560
int impossibly_high_comparison(struct expression *expr)
usr/src/tools/smatch/src/smatch_comparison.c
2750
struct sm_state *comparison_implication_hook(struct expression *expr,
usr/src/tools/smatch/src/smatch_comparison.c
40
static void add_comparison(struct expression *left, int comparison, struct expression *right);
usr/src/tools/smatch/src/smatch_comparison.c
70
struct expression *left,
usr/src/tools/smatch/src/smatch_comparison.c
73
struct expression *right,
usr/src/tools/smatch/src/smatch_comparison.c
796
static bool match_add_sub_assign(struct sm_state *sm, struct expression *expr)
usr/src/tools/smatch/src/smatch_comparison.c
819
static void match_inc_dec(struct sm_state *sm, struct expression *mod_expr)
usr/src/tools/smatch/src/smatch_comparison.c
837
static int is_self_assign(struct expression *expr)
usr/src/tools/smatch/src/smatch_comparison.c
844
static void match_modify(struct sm_state *sm, struct expression *mod_expr)
usr/src/tools/smatch/src/smatch_comparison.c
861
static void match_preop(struct expression *expr)
usr/src/tools/smatch/src/smatch_comparison.c
863
struct expression *parent;
usr/src/tools/smatch/src/smatch_comparison.c
907
static char *chunk_to_var_sym(struct expression *expr, struct symbol **sym)
usr/src/tools/smatch/src/smatch_comparison.c
930
static char *chunk_to_var(struct expression *expr)
usr/src/tools/smatch/src/smatch_comparison.c
935
static struct smatch_state *get_state_chunk(int owner, struct expression *expr)
usr/src/tools/smatch/src/smatch_comparison.c
950
static void save_link(struct expression *expr, char *link)
usr/src/tools/smatch/src/smatch_conditions.c
115
static int ignore_builtin_expect(struct expression *expr)
usr/src/tools/smatch/src/smatch_conditions.c
130
struct expression *expr = NULL;
usr/src/tools/smatch/src/smatch_conditions.c
138
expr = last->label_statement->expression;
usr/src/tools/smatch/src/smatch_conditions.c
144
expr = last->expression;
usr/src/tools/smatch/src/smatch_conditions.c
156
static int handle_preop(struct expression *expr)
usr/src/tools/smatch/src/smatch_conditions.c
173
static void handle_logical(struct expression *expr)
usr/src/tools/smatch/src/smatch_conditions.c
234
static void handle_select(struct expression *expr)
usr/src/tools/smatch/src/smatch_conditions.c
357
static void handle_comma(struct expression *expr)
usr/src/tools/smatch/src/smatch_conditions.c
378
static void hackup_unsigned_compares(struct expression *expr)
usr/src/tools/smatch/src/smatch_conditions.c
387
static void do_condition(struct expression *expr)
usr/src/tools/smatch/src/smatch_conditions.c
395
static void split_conditions(struct expression *expr)
usr/src/tools/smatch/src/smatch_conditions.c
499
void __split_whole_condition(struct expression *expr)
usr/src/tools/smatch/src/smatch_conditions.c
516
void __handle_logic(struct expression *expr)
usr/src/tools/smatch/src/smatch_conditions.c
535
int is_condition(struct expression *expr)
usr/src/tools/smatch/src/smatch_conditions.c
553
int __handle_condition_assigns(struct expression *expr)
usr/src/tools/smatch/src/smatch_conditions.c
555
struct expression *right;
usr/src/tools/smatch/src/smatch_conditions.c
613
static int is_select_assign(struct expression *expr)
usr/src/tools/smatch/src/smatch_conditions.c
615
struct expression *right;
usr/src/tools/smatch/src/smatch_conditions.c
627
int __handle_select_assigns(struct expression *expr)
usr/src/tools/smatch/src/smatch_conditions.c
629
struct expression *right;
usr/src/tools/smatch/src/smatch_conditions.c
649
struct expression *fake_expr;
usr/src/tools/smatch/src/smatch_conditions.c
66
static void split_conditions(struct expression *expr);
usr/src/tools/smatch/src/smatch_conditions.c
661
struct expression *fake_expr;
usr/src/tools/smatch/src/smatch_conditions.c
68
static int is_logical_and(struct expression *expr)
usr/src/tools/smatch/src/smatch_conditions.c
704
int __handle_expr_statement_assigns(struct expression *expr)
usr/src/tools/smatch/src/smatch_conditions.c
706
struct expression *right;
usr/src/tools/smatch/src/smatch_conditions.c
719
struct expression *fake_assign;
usr/src/tools/smatch/src/smatch_conditions.c
720
struct expression fake_expr_stmt = { .smatch_flags = Fake, };
usr/src/tools/smatch/src/smatch_conditions.c
739
struct expression *fake_assign;
usr/src/tools/smatch/src/smatch_conditions.c
741
fake_assign = assign_expression(expr->left, expr->op, stmt->expression);
usr/src/tools/smatch/src/smatch_conditions.c
75
static int handle_zero_comparisons(struct expression *expr)
usr/src/tools/smatch/src/smatch_conditions.c
77
struct expression *tmp = NULL;
usr/src/tools/smatch/src/smatch_conditions.c
78
struct expression *zero;
usr/src/tools/smatch/src/smatch_constraints.c
159
static char *get_func_constraint(struct expression *expr)
usr/src/tools/smatch/src/smatch_constraints.c
174
static char *get_toplevel_name(struct expression *expr)
usr/src/tools/smatch/src/smatch_constraints.c
195
char *get_constraint_str(struct expression *expr)
usr/src/tools/smatch/src/smatch_constraints.c
294
char *unmet_constraint(struct expression *data, struct expression *offset)
usr/src/tools/smatch/src/smatch_constraints.c
350
static void handle_comparison(struct expression *left, int op, struct expression *right)
usr/src/tools/smatch/src/smatch_constraints.c
385
static void match_condition(struct expression *expr)
usr/src/tools/smatch/src/smatch_constraints.c
398
struct constraint_list *get_constraints(struct expression *expr)
usr/src/tools/smatch/src/smatch_constraints.c
408
static void match_caller_info(struct expression *expr)
usr/src/tools/smatch/src/smatch_constraints.c
410
struct expression *tmp;
usr/src/tools/smatch/src/smatch_constraints.c
424
static void struct_member_callback(struct expression *call, int param, char *printed_name, struct sm_state *sm)
usr/src/tools/smatch/src/smatch_constraints.c
473
static void print_return_implies_constrained(int return_id, char *return_ranges, struct expression *expr)
usr/src/tools/smatch/src/smatch_constraints.c
501
static void db_returns_constrained(struct expression *expr, int param, char *key, char *value)
usr/src/tools/smatch/src/smatch_constraints_required.c
133
struct expression *mult_left, *mult_right;
usr/src/tools/smatch/src/smatch_constraints_required.c
163
static void match_alloc_helper(struct expression *pointer, struct expression *size, int recurse)
usr/src/tools/smatch/src/smatch_constraints_required.c
165
struct expression *size_orig, *tmp;
usr/src/tools/smatch/src/smatch_constraints_required.c
191
struct expression *mult_left, *mult_right;
usr/src/tools/smatch/src/smatch_constraints_required.c
214
static void match_alloc(const char *fn, struct expression *expr, void *_size_arg)
usr/src/tools/smatch/src/smatch_constraints_required.c
217
struct expression *call, *arg;
usr/src/tools/smatch/src/smatch_constraints_required.c
225
static void match_calloc(const char *fn, struct expression *expr, void *_start_arg)
usr/src/tools/smatch/src/smatch_constraints_required.c
227
struct expression *pointer, *call, *size;
usr/src/tools/smatch/src/smatch_constraints_required.c
228
struct expression *count = NULL;
usr/src/tools/smatch/src/smatch_constraints_required.c
257
static void match_assign_size(struct expression *expr)
usr/src/tools/smatch/src/smatch_constraints_required.c
281
static void match_assign_has_buf_comparison(struct expression *expr)
usr/src/tools/smatch/src/smatch_constraints_required.c
283
struct expression *size;
usr/src/tools/smatch/src/smatch_constraints_required.c
298
static void match_assign_data(struct expression *expr)
usr/src/tools/smatch/src/smatch_constraints_required.c
300
struct expression *right, *arg, *tmp;
usr/src/tools/smatch/src/smatch_constraints_required.c
361
static void match_assign_ARRAY_SIZE(struct expression *expr)
usr/src/tools/smatch/src/smatch_constraints_required.c
363
struct expression *array;
usr/src/tools/smatch/src/smatch_constraints_required.c
396
static void match_assign_buf_comparison(struct expression *expr)
usr/src/tools/smatch/src/smatch_constraints_required.c
398
struct expression *pointer;
usr/src/tools/smatch/src/smatch_constraints_required.c
417
static int has_constraint(struct expression *expr, const char *constraint)
usr/src/tools/smatch/src/smatch_constraints_required.c
431
static void match_assign_constraint(struct expression *expr)
usr/src/tools/smatch/src/smatch_constraints_required.c
59
static int bytes_per_element(struct expression *expr)
usr/src/tools/smatch/src/smatch_constraints_required.c
74
static void save_constraint_required(struct expression *pointer, int op, struct expression *constraint)
usr/src/tools/smatch/src/smatch_constraints_required.c
97
static int handle_zero_size_arrays(struct expression *pointer, struct expression *size)
usr/src/tools/smatch/src/smatch_constraints_required.c
99
struct expression *left, *right;
usr/src/tools/smatch/src/smatch_container_of.c
104
static int get_deref_count(struct expression *expr)
usr/src/tools/smatch/src/smatch_container_of.c
119
static struct expression *get_partial_deref(struct expression *expr, int cnt)
usr/src/tools/smatch/src/smatch_container_of.c
131
static int partial_deref_to_offset_str(struct expression *expr, int cnt, char op, char *buf, int size)
usr/src/tools/smatch/src/smatch_container_of.c
154
static char *get_shared_str(struct expression *expr, struct expression *container)
usr/src/tools/smatch/src/smatch_container_of.c
156
struct expression *one, *two;
usr/src/tools/smatch/src/smatch_container_of.c
191
static char *get_stored_container_name(struct expression *container,
usr/src/tools/smatch/src/smatch_container_of.c
192
struct expression *expr)
usr/src/tools/smatch/src/smatch_container_of.c
218
static char *get_container_name_helper(struct expression *container, struct expression *expr)
usr/src/tools/smatch/src/smatch_container_of.c
25
int get_param_from_container_of(struct expression *expr)
usr/src/tools/smatch/src/smatch_container_of.c
262
char *get_container_name(struct expression *container, struct expression *expr)
usr/src/tools/smatch/src/smatch_container_of.c
27
struct expression *param_expr;
usr/src/tools/smatch/src/smatch_container_of.c
286
static bool is_fn_ptr(struct expression *expr)
usr/src/tools/smatch/src/smatch_container_of.c
304
static void match_call(struct expression *call)
usr/src/tools/smatch/src/smatch_container_of.c
306
struct expression *fn, *arg, *tmp;
usr/src/tools/smatch/src/smatch_container_of.c
56
int get_offset_from_container_of(struct expression *expr)
usr/src/tools/smatch/src/smatch_container_of.c
58
struct expression *param_expr;
usr/src/tools/smatch/src/smatch_container_of.c
82
static void print_returns_container_of(int return_id, char *return_ranges, struct expression *expr)
usr/src/tools/smatch/src/smatch_data_source.c
102
static void match_caller_info(struct expression *expr)
usr/src/tools/smatch/src/smatch_data_source.c
104
struct expression *arg;
usr/src/tools/smatch/src/smatch_data_source.c
24
static char *get_source_parameter(struct expression *expr)
usr/src/tools/smatch/src/smatch_data_source.c
26
struct expression *tmp;
usr/src/tools/smatch/src/smatch_data_source.c
68
static char *get_source_assignment(struct expression *expr)
usr/src/tools/smatch/src/smatch_data_source.c
70
struct expression *right;
usr/src/tools/smatch/src/smatch_data_source.c
92
static char *get_source_str(struct expression *arg)
usr/src/tools/smatch/src/smatch_db.c
1267
struct expression *arg = NULL;
usr/src/tools/smatch/src/smatch_db.c
1295
struct expression *arg;
usr/src/tools/smatch/src/smatch_db.c
1322
static void match_return_implies(struct expression *expr)
usr/src/tools/smatch/src/smatch_db.c
1353
static char *get_fn_param_str(struct expression *expr)
usr/src/tools/smatch/src/smatch_db.c
1355
struct expression *tmp;
usr/src/tools/smatch/src/smatch_db.c
1376
static char *get_return_compare_is_param(struct expression *expr)
usr/src/tools/smatch/src/smatch_db.c
1401
static char *get_return_compare_str(struct expression *expr)
usr/src/tools/smatch/src/smatch_db.c
1416
static const char *get_return_ranges_str(struct expression *expr, struct range_list **rl_p)
usr/src/tools/smatch/src/smatch_db.c
1475
static void match_return_info(int return_id, char *return_ranges, struct expression *expr)
usr/src/tools/smatch/src/smatch_db.c
1480
static bool call_return_state_hooks_conditional(struct expression *expr)
usr/src/tools/smatch/src/smatch_db.c
1513
static void call_return_state_hooks_compare(struct expression *expr)
usr/src/tools/smatch/src/smatch_db.c
1571
static int split_possible_helper(struct sm_state *sm, struct expression *expr)
usr/src/tools/smatch/src/smatch_db.c
1641
static int call_return_state_hooks_split_possible(struct expression *expr)
usr/src/tools/smatch/src/smatch_db.c
1685
static int split_positive_from_negative(struct expression *expr)
usr/src/tools/smatch/src/smatch_db.c
1755
static int call_return_state_hooks_split_null_non_null_zero(struct expression *expr)
usr/src/tools/smatch/src/smatch_db.c
1858
static int call_return_state_hooks_split_success_fail(struct expression *expr)
usr/src/tools/smatch/src/smatch_db.c
1923
static int is_boolean(struct expression *expr)
usr/src/tools/smatch/src/smatch_db.c
1934
static int splitable_function_call(struct expression *expr)
usr/src/tools/smatch/src/smatch_db.c
1984
static int split_on_bool_sm(struct sm_state *sm, struct expression *expr)
usr/src/tools/smatch/src/smatch_db.c
2026
static int split_by_bool_param(struct expression *expr)
usr/src/tools/smatch/src/smatch_db.c
2044
static int split_by_null_nonnull_param(struct expression *expr)
usr/src/tools/smatch/src/smatch_db.c
2075
struct expression *strip_expr_statement(struct expression *expr)
usr/src/tools/smatch/src/smatch_db.c
2077
struct expression *orig = expr;
usr/src/tools/smatch/src/smatch_db.c
2095
return strip_expr(last_stmt->expression);
usr/src/tools/smatch/src/smatch_db.c
2098
static bool is_kernel_error_path(struct expression *expr)
usr/src/tools/smatch/src/smatch_db.c
2116
static void call_return_state_hooks(struct expression *expr)
usr/src/tools/smatch/src/smatch_db.c
2174
static void print_returned_struct_members(int return_id, char *return_ranges, struct expression *expr)
usr/src/tools/smatch/src/smatch_db.c
238
void sql_insert_caller_info(struct expression *call, int type,
usr/src/tools/smatch/src/smatch_db.c
2559
char *return_state_to_var_sym(struct expression *expr, int param, const char *key, struct symbol **sym)
usr/src/tools/smatch/src/smatch_db.c
2561
struct expression *arg;
usr/src/tools/smatch/src/smatch_db.c
2600
char *get_variable_from_key(struct expression *arg, const char *key, struct symbol **sym)
usr/src/tools/smatch/src/smatch_db.c
2683
char *get_chunk_from_key(struct expression *arg, char *key, struct symbol **sym, struct var_sym_list **vsl)
usr/src/tools/smatch/src/smatch_db.c
2774
const char *get_mtag_name_expr(struct expression *expr)
usr/src/tools/smatch/src/smatch_db.c
2795
char *get_data_info_name(struct expression *expr)
usr/src/tools/smatch/src/smatch_db.c
336
void sql_insert_data_info(struct expression *data, int type, const char *value)
usr/src/tools/smatch/src/smatch_db.c
34
static void call_return_state_hooks(struct expression *expr);
usr/src/tools/smatch/src/smatch_db.c
383
void sql_insert_fn_data_link(struct expression *fn, int type, int param, const char *key, const char *value)
usr/src/tools/smatch/src/smatch_db.c
48
void (*callback)(struct expression *call, int param, char *printed_name, struct sm_state *sm);
usr/src/tools/smatch/src/smatch_db.c
493
static void mark_call_params_untracked(struct expression *call)
usr/src/tools/smatch/src/smatch_db.c
495
struct expression *arg;
usr/src/tools/smatch/src/smatch_db.c
504
struct expression *call, int (*callback)(void*, int, char**, char**), void *info)
usr/src/tools/smatch/src/smatch_db.c
531
static int is_local_symbol(struct expression *expr)
usr/src/tools/smatch/src/smatch_db.c
540
void sql_select_return_states(const char *cols, struct expression *call,
usr/src/tools/smatch/src/smatch_db.c
543
struct expression *fn;
usr/src/tools/smatch/src/smatch_db.c
56
void (*callback)(int return_id, char *return_ranges, struct expression *return_expr);
usr/src/tools/smatch/src/smatch_db.c
577
struct expression *expr;
usr/src/tools/smatch/src/smatch_db.c
64
void (*callback)(int return_id, char *return_ranges, struct expression *expr, char *printed_name, struct smatch_state *state);
usr/src/tools/smatch/src/smatch_db.c
644
void add_member_info_callback(int owner, void (*callback)(struct expression *call, int param, char *printed_name, struct sm_state *sm))
usr/src/tools/smatch/src/smatch_db.c
653
void add_caller_info_callback(int owner, void (*callback)(struct expression *call, int param, char *printed_name, struct sm_state *sm))
usr/src/tools/smatch/src/smatch_db.c
662
void add_split_return_callback(void (*fn)(int return_id, char *return_ranges, struct expression *returned_expr))
usr/src/tools/smatch/src/smatch_db.c
670
void add_returned_member_callback(int owner, void (*callback)(int return_id, char *return_ranges, struct expression *expr, char *printed_name, struct smatch_state *state))
usr/src/tools/smatch/src/smatch_db.c
679
void select_call_implies_hook(int type, void (*callback)(struct expression *call, struct expression *arg, char *key, char *value))
usr/src/tools/smatch/src/smatch_db.c
688
void select_return_implies_hook(int type, void (*callback)(struct expression *call, struct expression *arg, char *key, char *value))
usr/src/tools/smatch/src/smatch_db.c
698
struct expression *static_returns_call;
usr/src/tools/smatch/src/smatch_db.c
707
struct expression *call_expr = ret_info->static_returns_call;
usr/src/tools/smatch/src/smatch_db.c
716
struct range_list *db_return_vals(struct expression *expr)
usr/src/tools/smatch/src/smatch_db.c
72
void (*callback)(struct expression *call, struct expression *arg, char *key, char *value);
usr/src/tools/smatch/src/smatch_db.c
771
struct range_list *db_return_vals_no_args(struct expression *expr)
usr/src/tools/smatch/src/smatch_db.c
791
static void match_call_marker(struct expression *expr)
usr/src/tools/smatch/src/smatch_db.c
835
char *sm_to_arg_name(struct expression *expr, struct sm_state *sm)
usr/src/tools/smatch/src/smatch_db.c
890
static void print_struct_members(struct expression *call, struct expression *expr, int param, struct stree *stree,
usr/src/tools/smatch/src/smatch_db.c
891
void (*callback)(struct expression *call, int param, char *printed_name, struct sm_state *sm),
usr/src/tools/smatch/src/smatch_db.c
970
static void match_call_info(struct expression *call)
usr/src/tools/smatch/src/smatch_db.c
973
struct expression *arg;
usr/src/tools/smatch/src/smatch_db.c
995
static void match_call_info_new(struct expression *call)
usr/src/tools/smatch/src/smatch_db.c
998
struct expression *arg;
usr/src/tools/smatch/src/smatch_equiv.c
171
void remove_from_equiv_expr(struct expression *expr)
usr/src/tools/smatch/src/smatch_equiv.c
196
void set_equiv(struct expression *left, struct expression *right)
usr/src/tools/smatch/src/smatch_equiv.c
262
void set_equiv_state_expr(int id, struct expression *expr, struct smatch_state *state)
usr/src/tools/smatch/src/smatch_estate.c
442
struct smatch_state *get_implied_estate(struct expression *expr)
usr/src/tools/smatch/src/smatch_expression_stacks.c
21
void push_expression(struct expression_list **estack, struct expression *expr)
usr/src/tools/smatch/src/smatch_expression_stacks.c
26
struct expression *pop_expression(struct expression_list **estack)
usr/src/tools/smatch/src/smatch_expression_stacks.c
28
struct expression *expr;
usr/src/tools/smatch/src/smatch_expression_stacks.c
35
struct expression *top_expression(struct expression_list *estack)
usr/src/tools/smatch/src/smatch_expression_stacks.c
37
struct expression *expr;
usr/src/tools/smatch/src/smatch_expression_stacks.h
1
void push_expression(struct expression_list **estack, struct expression *expr);
usr/src/tools/smatch/src/smatch_expression_stacks.h
2
struct expression *pop_expression(struct expression_list **estack);
usr/src/tools/smatch/src/smatch_expression_stacks.h
3
struct expression *top_expression(struct expression_list *estack);
usr/src/tools/smatch/src/smatch_expressions.c
108
struct expression *binop_expression(struct expression *left, int op, struct expression *right)
usr/src/tools/smatch/src/smatch_expressions.c
11
struct expression *expr;
usr/src/tools/smatch/src/smatch_expressions.c
110
struct expression *expr;
usr/src/tools/smatch/src/smatch_expressions.c
119
struct expression *array_element_expression(struct expression *array, struct expression *offset)
usr/src/tools/smatch/src/smatch_expressions.c
121
struct expression *expr;
usr/src/tools/smatch/src/smatch_expressions.c
127
struct expression *symbol_expression(struct symbol *sym)
usr/src/tools/smatch/src/smatch_expressions.c
129
struct expression *expr;
usr/src/tools/smatch/src/smatch_expressions.c
137
struct expression *compare_expression(struct expression *left, int op, struct expression *right)
usr/src/tools/smatch/src/smatch_expressions.c
139
struct expression *expr;
usr/src/tools/smatch/src/smatch_expressions.c
148
struct expression *string_expression(char *str)
usr/src/tools/smatch/src/smatch_expressions.c
150
struct expression *ret;
usr/src/tools/smatch/src/smatch_expressions.c
167
struct expression *call_expression(struct expression *fn, struct expression_list *args)
usr/src/tools/smatch/src/smatch_expressions.c
169
struct expression *expr;
usr/src/tools/smatch/src/smatch_expressions.c
178
static struct expression *get_expression_from_base_and_str(struct expression *base, const char *addition)
usr/src/tools/smatch/src/smatch_expressions.c
180
struct expression *ret = NULL;
usr/src/tools/smatch/src/smatch_expressions.c
226
struct expression *gen_expression_from_name_sym(const char *name, struct symbol *sym)
usr/src/tools/smatch/src/smatch_expressions.c
228
struct expression *base;
usr/src/tools/smatch/src/smatch_expressions.c
230
struct expression *ret;
usr/src/tools/smatch/src/smatch_expressions.c
25
struct expression *alloc_tmp_expression(struct position pos, int type)
usr/src/tools/smatch/src/smatch_expressions.c
254
struct expression *gen_expression_from_key(struct expression *arg, const char *key)
usr/src/tools/smatch/src/smatch_expressions.c
256
struct expression *ret;
usr/src/tools/smatch/src/smatch_expressions.c
27
struct expression *expr;
usr/src/tools/smatch/src/smatch_expressions.c
299
void expr_set_parent_expr(struct expression *expr, struct expression *parent)
usr/src/tools/smatch/src/smatch_expressions.c
309
void expr_set_parent_stmt(struct expression *expr, struct statement *parent)
usr/src/tools/smatch/src/smatch_expressions.c
316
struct expression *expr_get_parent_expr(struct expression *expr)
usr/src/tools/smatch/src/smatch_expressions.c
322
return (struct expression *)(expr->parent & ~0x1UL);
usr/src/tools/smatch/src/smatch_expressions.c
325
struct statement *expr_get_parent_stmt(struct expression *expr)
usr/src/tools/smatch/src/smatch_expressions.c
41
struct expression *zero_expr(void)
usr/src/tools/smatch/src/smatch_expressions.c
43
struct expression *zero;
usr/src/tools/smatch/src/smatch_expressions.c
5
__ALLOCATOR(struct expression, "temporary expr", tmp_expression);
usr/src/tools/smatch/src/smatch_expressions.c
51
struct expression *value_expr(long long val)
usr/src/tools/smatch/src/smatch_expressions.c
53
struct expression *expr;
usr/src/tools/smatch/src/smatch_expressions.c
64
struct expression *member_expression(struct expression *deref, int op, struct ident *member)
usr/src/tools/smatch/src/smatch_expressions.c
66
struct expression *expr;
usr/src/tools/smatch/src/smatch_expressions.c
76
struct expression *preop_expression(struct expression *expr, int op)
usr/src/tools/smatch/src/smatch_expressions.c
78
struct expression *preop;
usr/src/tools/smatch/src/smatch_expressions.c
86
struct expression *deref_expression(struct expression *expr)
usr/src/tools/smatch/src/smatch_expressions.c
93
struct expression *assign_expression(struct expression *left, int op, struct expression *right)
usr/src/tools/smatch/src/smatch_expressions.c
95
struct expression *expr;
usr/src/tools/smatch/src/smatch_extra.c
1002
int values_fit_type(struct expression *left, struct expression *right)
usr/src/tools/smatch/src/smatch_extra.c
101
static void set_union_info(const char *name, struct symbol *sym, struct expression *expr, struct smatch_state *state)
usr/src/tools/smatch/src/smatch_extra.c
1022
static void save_chunk_info(struct expression *left, struct expression *right)
usr/src/tools/smatch/src/smatch_extra.c
1026
struct expression *add_expr;
usr/src/tools/smatch/src/smatch_extra.c
104
struct expression *deref, *member_expr;
usr/src/tools/smatch/src/smatch_extra.c
1055
static void do_array_assign(struct expression *left, int op, struct expression *right)
usr/src/tools/smatch/src/smatch_extra.c
1069
static void match_vanilla_assign(struct expression *left, struct expression *right)
usr/src/tools/smatch/src/smatch_extra.c
1164
static void match_assign(struct expression *expr)
usr/src/tools/smatch/src/smatch_extra.c
1167
struct expression *left;
usr/src/tools/smatch/src/smatch_extra.c
1168
struct expression *right;
usr/src/tools/smatch/src/smatch_extra.c
1169
struct expression *binop_expr;
usr/src/tools/smatch/src/smatch_extra.c
1268
static void clear_pointed_at_state(struct expression *expr)
usr/src/tools/smatch/src/smatch_extra.c
1291
static void unop_expr(struct expression *expr)
usr/src/tools/smatch/src/smatch_extra.c
1323
struct expression *expr;
usr/src/tools/smatch/src/smatch_extra.c
1336
static void check_dereference(struct expression *expr)
usr/src/tools/smatch/src/smatch_extra.c
1364
static void match_dereferences(struct expression *expr)
usr/src/tools/smatch/src/smatch_extra.c
1376
static void match_pointer_as_array(struct expression *expr)
usr/src/tools/smatch/src/smatch_extra.c
1383
static void find_dereferences(struct expression *expr)
usr/src/tools/smatch/src/smatch_extra.c
1392
static void set_param_dereferenced(struct expression *call, struct expression *arg, char *key, char *unused)
usr/src/tools/smatch/src/smatch_extra.c
1425
static int handle_postop_inc(struct expression *left, int op, struct expression *right)
usr/src/tools/smatch/src/smatch_extra.c
1428
struct expression *cond;
usr/src/tools/smatch/src/smatch_extra.c
1491
bool is_impossible_variable(struct expression *expr)
usr/src/tools/smatch/src/smatch_extra.c
1501
static bool in_macro(struct expression *left, struct expression *right)
usr/src/tools/smatch/src/smatch_extra.c
1512
static void handle_comparison(struct symbol *type, struct expression *left, int op, struct expression *right)
usr/src/tools/smatch/src/smatch_extra.c
172
void set_extra_mod_helper(const char *name, struct symbol *sym, struct expression *expr, struct smatch_state *state)
usr/src/tools/smatch/src/smatch_extra.c
1724
static int is_simple_math(struct expression *expr)
usr/src/tools/smatch/src/smatch_extra.c
174
struct expression *faked;
usr/src/tools/smatch/src/smatch_extra.c
1753
static void move_known_to_rl(struct expression **expr_p, struct range_list **rl_p)
usr/src/tools/smatch/src/smatch_extra.c
1755
struct expression *expr = *expr_p;
usr/src/tools/smatch/src/smatch_extra.c
1778
static void move_known_values(struct expression **left_p, struct expression **right_p)
usr/src/tools/smatch/src/smatch_extra.c
1780
struct expression *left = *left_p;
usr/src/tools/smatch/src/smatch_extra.c
1781
struct expression *right = *right_p;
usr/src/tools/smatch/src/smatch_extra.c
1850
static int do_simple_algebra(struct expression **left_p, struct expression **right_p)
usr/src/tools/smatch/src/smatch_extra.c
1852
struct expression *left = *left_p;
usr/src/tools/smatch/src/smatch_extra.c
1853
struct expression *right = *right_p;
usr/src/tools/smatch/src/smatch_extra.c
1882
static int match_func_comparison(struct expression *expr)
usr/src/tools/smatch/src/smatch_extra.c
1884
struct expression *left = strip_expr(expr->left);
usr/src/tools/smatch/src/smatch_extra.c
1885
struct expression *right = strip_expr(expr->right);
usr/src/tools/smatch/src/smatch_extra.c
1896
static int handle_integer_overflow_test(struct expression *expr)
usr/src/tools/smatch/src/smatch_extra.c
1898
struct expression *left, *right;
usr/src/tools/smatch/src/smatch_extra.c
191
static void set_extra_nomod_helper(const char *name, struct symbol *sym, struct expression *expr, struct smatch_state *state)
usr/src/tools/smatch/src/smatch_extra.c
1939
static void match_comparison(struct expression *expr)
usr/src/tools/smatch/src/smatch_extra.c
1941
struct expression *left_orig = strip_parens(expr->left);
usr/src/tools/smatch/src/smatch_extra.c
1942
struct expression *right_orig = strip_parens(expr->right);
usr/src/tools/smatch/src/smatch_extra.c
1943
struct expression *left, *right, *tmp;
usr/src/tools/smatch/src/smatch_extra.c
1944
struct expression *prev;
usr/src/tools/smatch/src/smatch_extra.c
199
struct expression *assigned;
usr/src/tools/smatch/src/smatch_extra.c
2033
static bool handle_bit_test(struct expression *expr)
usr/src/tools/smatch/src/smatch_extra.c
2036
struct expression *shift, *mask, *var;
usr/src/tools/smatch/src/smatch_extra.c
2078
static void handle_AND_op(struct expression *var, sval_t known)
usr/src/tools/smatch/src/smatch_extra.c
2120
static void handle_AND_condition(struct expression *expr)
usr/src/tools/smatch/src/smatch_extra.c
2133
static void handle_MOD_condition(struct expression *expr)
usr/src/tools/smatch/src/smatch_extra.c
2197
void __extra_match_condition(struct expression *expr)
usr/src/tools/smatch/src/smatch_extra.c
2224
static void assume_indexes_are_valid(struct expression *expr)
usr/src/tools/smatch/src/smatch_extra.c
2226
struct expression *array_expr;
usr/src/tools/smatch/src/smatch_extra.c
2228
struct expression *offset;
usr/src/tools/smatch/src/smatch_extra.c
223
struct expression *assigned;
usr/src/tools/smatch/src/smatch_extra.c
2263
int implied_not_equal(struct expression *expr, long long val)
usr/src/tools/smatch/src/smatch_extra.c
2319
int parent_is_null(struct expression *expr)
usr/src/tools/smatch/src/smatch_extra.c
2378
static int filter_unused_param_value_info(struct expression *call, int param, char *printed_name, struct sm_state *sm)
usr/src/tools/smatch/src/smatch_extra.c
2445
struct range_list *intersect_with_real_abs_expr(struct expression *expr, struct range_list *start)
usr/src/tools/smatch/src/smatch_extra.c
2458
static void struct_member_callback(struct expression *call, int param, char *printed_name, struct sm_state *sm)
usr/src/tools/smatch/src/smatch_extra.c
2482
static void returned_struct_members(int return_id, char *return_ranges, struct expression *expr)
usr/src/tools/smatch/src/smatch_extra.c
2555
static void db_param_limit_binops(struct expression *arg, char *key, struct range_list *rl)
usr/src/tools/smatch/src/smatch_extra.c
2575
static void db_param_limit_filter(struct expression *expr, int param, char *key, char *value, enum info_type op)
usr/src/tools/smatch/src/smatch_extra.c
2577
struct expression *arg;
usr/src/tools/smatch/src/smatch_extra.c
260
struct expression *tmp;
usr/src/tools/smatch/src/smatch_extra.c
2649
static void db_param_limit(struct expression *expr, int param, char *key, char *value)
usr/src/tools/smatch/src/smatch_extra.c
2654
static void db_param_filter(struct expression *expr, int param, char *key, char *value)
usr/src/tools/smatch/src/smatch_extra.c
2659
static void db_param_add_set(struct expression *expr, int param, char *key, char *value, enum info_type op)
usr/src/tools/smatch/src/smatch_extra.c
2661
struct expression *arg, *gen_expr;
usr/src/tools/smatch/src/smatch_extra.c
2708
static void db_param_add(struct expression *expr, int param, char *key, char *value)
usr/src/tools/smatch/src/smatch_extra.c
2715
static void db_param_set(struct expression *expr, int param, char *key, char *value)
usr/src/tools/smatch/src/smatch_extra.c
2722
static void match_lost_param(struct expression *call, int param)
usr/src/tools/smatch/src/smatch_extra.c
2724
struct expression *arg;
usr/src/tools/smatch/src/smatch_extra.c
2740
static void db_param_value(struct expression *expr, int param, char *key, char *value)
usr/src/tools/smatch/src/smatch_extra.c
2742
struct expression *call;
usr/src/tools/smatch/src/smatch_extra.c
2769
static void match_call_info(struct expression *expr)
usr/src/tools/smatch/src/smatch_extra.c
2773
struct expression *arg;
usr/src/tools/smatch/src/smatch_extra.c
2803
struct expression *expr;
usr/src/tools/smatch/src/smatch_extra.c
2826
struct expression *expr;
usr/src/tools/smatch/src/smatch_extra.c
2851
struct expression *expr;
usr/src/tools/smatch/src/smatch_extra.c
2865
struct sm_state *get_extra_sm_state(struct expression *expr)
usr/src/tools/smatch/src/smatch_extra.c
2881
struct smatch_state *get_extra_state(struct expression *expr)
usr/src/tools/smatch/src/smatch_extra.c
2911
static void match_link_modify(struct sm_state *sm, struct expression *mod_expr)
usr/src/tools/smatch/src/smatch_extra.c
351
void set_extra_mod(const char *name, struct symbol *sym, struct expression *expr, struct smatch_state *state)
usr/src/tools/smatch/src/smatch_extra.c
363
static struct expression *chunk_get_array_base(struct expression *expr)
usr/src/tools/smatch/src/smatch_extra.c
376
static int chunk_has_array(struct expression *expr)
usr/src/tools/smatch/src/smatch_extra.c
381
static void clear_array_states(struct expression *array)
usr/src/tools/smatch/src/smatch_extra.c
390
static void set_extra_array_mod(struct expression *expr, struct smatch_state *state)
usr/src/tools/smatch/src/smatch_extra.c
392
struct expression *array;
usr/src/tools/smatch/src/smatch_extra.c
40
static void match_link_modify(struct sm_state *sm, struct expression *mod_expr);
usr/src/tools/smatch/src/smatch_extra.c
416
void set_extra_expr_mod(struct expression *expr, struct smatch_state *state)
usr/src/tools/smatch/src/smatch_extra.c
435
void set_extra_nomod(const char *name, struct symbol *sym, struct expression *expr, struct smatch_state *state)
usr/src/tools/smatch/src/smatch_extra.c
469
void set_extra_nomod_vsl(const char *name, struct symbol *sym, struct var_sym_list *vsl, struct expression *expr, struct smatch_state *state)
usr/src/tools/smatch/src/smatch_extra.c
483
void set_extra_expr_nomod(struct expression *expr, struct smatch_state *state)
usr/src/tools/smatch/src/smatch_extra.c
540
static void set_extra_chunk_true_false(struct expression *expr,
usr/src/tools/smatch/src/smatch_extra.c
571
static void set_extra_expr_true_false(struct expression *expr,
usr/src/tools/smatch/src/smatch_extra.c
596
static int get_countdown_info(struct expression *condition, struct expression **unop, int *op, sval_t *right)
usr/src/tools/smatch/src/smatch_extra.c
598
struct expression *unop_expr;
usr/src/tools/smatch/src/smatch_extra.c
63
typedef void (mod_hook)(const char *name, struct symbol *sym, struct expression *expr, struct smatch_state *state);
usr/src/tools/smatch/src/smatch_extra.c
641
struct expression *iter_var;
usr/src/tools/smatch/src/smatch_extra.c
642
struct expression *condition, *unop;
usr/src/tools/smatch/src/smatch_extra.c
698
static struct sm_state *handle_canonical_for_inc(struct expression *iter_expr,
usr/src/tools/smatch/src/smatch_extra.c
699
struct expression *condition)
usr/src/tools/smatch/src/smatch_extra.c
701
struct expression *iter_var;
usr/src/tools/smatch/src/smatch_extra.c
752
static struct sm_state *handle_canonical_for_dec(struct expression *iter_expr,
usr/src/tools/smatch/src/smatch_extra.c
753
struct expression *condition)
usr/src/tools/smatch/src/smatch_extra.c
755
struct expression *iter_var;
usr/src/tools/smatch/src/smatch_extra.c
794
struct expression *iter_expr;
usr/src/tools/smatch/src/smatch_extra.c
795
struct expression *condition;
usr/src/tools/smatch/src/smatch_extra.c
801
iter_expr = loop->iterator_post_statement->expression;
usr/src/tools/smatch/src/smatch_extra.c
82
void call_extra_hooks(struct void_fn_list *hooks, const char *name, struct symbol *sym, struct expression *expr, struct smatch_state *state)
usr/src/tools/smatch/src/smatch_extra.c
847
static void while_count_down_after(struct sm_state *sm, struct expression *condition)
usr/src/tools/smatch/src/smatch_extra.c
849
struct expression *unop;
usr/src/tools/smatch/src/smatch_extra.c
862
struct expression *condition)
usr/src/tools/smatch/src/smatch_extra.c
864
struct expression *iter_expr;
usr/src/tools/smatch/src/smatch_extra.c
873
iter_expr = iterator->expression;
usr/src/tools/smatch/src/smatch_extra.c
91
void call_extra_mod_hooks(const char *name, struct symbol *sym, struct expression *expr, struct smatch_state *state)
usr/src/tools/smatch/src/smatch_extra.c
911
struct expression *expr;
usr/src/tools/smatch/src/smatch_extra.c
940
static void clear_the_pointed_at(struct expression *expr)
usr/src/tools/smatch/src/smatch_extra.c
96
void call_extra_nomod_hooks(const char *name, struct symbol *sym, struct expression *expr, struct smatch_state *state)
usr/src/tools/smatch/src/smatch_extra.c
966
static int is_const_param(struct expression *expr, int param)
usr/src/tools/smatch/src/smatch_extra.c
978
static void match_function_call(struct expression *expr)
usr/src/tools/smatch/src/smatch_extra.c
980
struct expression *arg;
usr/src/tools/smatch/src/smatch_extra.c
981
struct expression *tmp;
usr/src/tools/smatch/src/smatch_extra.h
103
int get_implied_rl(struct expression *expr, struct range_list **rl);
usr/src/tools/smatch/src/smatch_extra.h
104
int get_absolute_rl(struct expression *expr, struct range_list **rl);
usr/src/tools/smatch/src/smatch_extra.h
105
void set_real_absolute(struct expression *expr, struct smatch_state *state);
usr/src/tools/smatch/src/smatch_extra.h
106
int get_real_absolute_rl(struct expression *expr, struct range_list **rl);
usr/src/tools/smatch/src/smatch_extra.h
107
struct range_list *var_to_absolute_rl(struct expression *expr);
usr/src/tools/smatch/src/smatch_extra.h
108
int custom_get_absolute_rl(struct expression *expr,
usr/src/tools/smatch/src/smatch_extra.h
109
struct range_list *(*fn)(struct expression *expr),
usr/src/tools/smatch/src/smatch_extra.h
160
struct smatch_state *get_implied_estate(struct expression *expr);
usr/src/tools/smatch/src/smatch_extra.h
167
bool is_impossible_variable(struct expression *expr);
usr/src/tools/smatch/src/smatch_extra.h
168
struct sm_state *get_extra_sm_state(struct expression *expr);
usr/src/tools/smatch/src/smatch_extra.h
169
struct smatch_state *get_extra_state(struct expression *expr);
usr/src/tools/smatch/src/smatch_extra.h
170
void call_extra_mod_hooks(const char *name, struct symbol *sym, struct expression *expr, struct smatch_state *state);
usr/src/tools/smatch/src/smatch_extra.h
171
void set_extra_mod(const char *name, struct symbol *sym, struct expression *expr, struct smatch_state *state);
usr/src/tools/smatch/src/smatch_extra.h
172
void set_extra_expr_mod(struct expression *expr, struct smatch_state *state);
usr/src/tools/smatch/src/smatch_extra.h
173
void set_extra_nomod(const char *name, struct symbol *sym, struct expression *expr, struct smatch_state *state);
usr/src/tools/smatch/src/smatch_extra.h
174
void set_extra_nomod_vsl(const char *name, struct symbol *sym, struct var_sym_list *vsl, struct expression *expr, struct smatch_state *state);
usr/src/tools/smatch/src/smatch_extra.h
175
void set_extra_expr_nomod(struct expression *expr, struct smatch_state *state);
usr/src/tools/smatch/src/smatch_extra.h
176
void set_extra_mod_helper(const char *name, struct symbol *sym, struct expression *expr, struct smatch_state *state);
usr/src/tools/smatch/src/smatch_extra.h
180
void add_extra_mod_hook(void (*fn)(const char *name, struct symbol *sym, struct expression *expr, struct smatch_state *state));
usr/src/tools/smatch/src/smatch_extra.h
181
void add_extra_nomod_hook(void (*fn)(const char *name, struct symbol *sym, struct expression *expr, struct smatch_state *state));
usr/src/tools/smatch/src/smatch_extra.h
182
int implied_not_equal(struct expression *expr, long long val);
usr/src/tools/smatch/src/smatch_extra.h
185
int parent_is_null(struct expression *expr);
usr/src/tools/smatch/src/smatch_extra.h
188
int parent_is_free(struct expression *expr);
usr/src/tools/smatch/src/smatch_extra.h
194
struct expression *condition);
usr/src/tools/smatch/src/smatch_extra.h
197
void set_equiv(struct expression *left, struct expression *right);
usr/src/tools/smatch/src/smatch_extra.h
203
void remove_from_equiv_expr(struct expression *expr);
usr/src/tools/smatch/src/smatch_extra.h
204
void set_equiv_state_expr(int id, struct expression *expr, struct smatch_state *state);
usr/src/tools/smatch/src/smatch_extra.h
207
void function_comparison(struct expression *left, int comparison, struct expression *right);
usr/src/tools/smatch/src/smatch_extra.h
210
struct expression *zero_expr();
usr/src/tools/smatch/src/smatch_extra.h
211
struct expression *value_expr(long long val);
usr/src/tools/smatch/src/smatch_extra.h
212
struct expression *member_expression(struct expression *deref, int op, struct ident *member);
usr/src/tools/smatch/src/smatch_extra.h
213
struct expression *preop_expression(struct expression *expr, int op);
usr/src/tools/smatch/src/smatch_extra.h
214
struct expression *deref_expression(struct expression *expr);
usr/src/tools/smatch/src/smatch_extra.h
215
struct expression *assign_expression(struct expression *left, int op, struct expression *right);
usr/src/tools/smatch/src/smatch_extra.h
216
struct expression *binop_expression(struct expression *left, int op, struct expression *right);
usr/src/tools/smatch/src/smatch_extra.h
217
struct expression *array_element_expression(struct expression *array, struct expression *offset);
usr/src/tools/smatch/src/smatch_extra.h
218
struct expression *symbol_expression(struct symbol *sym);
usr/src/tools/smatch/src/smatch_extra.h
219
struct expression *string_expression(char *str);
usr/src/tools/smatch/src/smatch_extra.h
220
struct expression *compare_expression(struct expression *left, int op, struct expression *right);
usr/src/tools/smatch/src/smatch_extra.h
221
struct expression *call_expression(struct expression *fn, struct expression_list *args);
usr/src/tools/smatch/src/smatch_extra.h
222
struct expression *unknown_value_expression(struct expression *expr);
usr/src/tools/smatch/src/smatch_extra.h
223
int is_fake_call(struct expression *expr);
usr/src/tools/smatch/src/smatch_extra.h
224
struct expression *gen_expression_from_name_sym(const char *name, struct symbol *sym);
usr/src/tools/smatch/src/smatch_extra.h
225
struct expression *gen_expression_from_key(struct expression *arg, const char *key);
usr/src/tools/smatch/src/smatch_extra.h
227
void expr_set_parent_expr(struct expression *expr, struct expression *parent);
usr/src/tools/smatch/src/smatch_extra.h
228
void expr_set_parent_stmt(struct expression *expr, struct statement *parent);
usr/src/tools/smatch/src/smatch_extra.h
229
struct expression *expr_get_parent_expr(struct expression *expr);
usr/src/tools/smatch/src/smatch_extra.h
230
struct statement *expr_get_parent_stmt(struct expression *expr);
usr/src/tools/smatch/src/smatch_extra.h
236
struct smatch_state *get_real_absolute_state(struct expression *expr);
usr/src/tools/smatch/src/smatch_extra.h
240
void __save_imaginary_state(struct expression *expr, struct range_list *true_rl, struct range_list *false_rl);
usr/src/tools/smatch/src/smatch_extra.h
241
int get_imaginary_absolute(struct expression *expr, struct range_list **rl);
usr/src/tools/smatch/src/smatch_extra.h
45
int str_to_comparison_arg(const char *c, struct expression *call, int *comparison, struct expression **arg);
usr/src/tools/smatch/src/smatch_extra.h
47
void call_results_to_rl(struct expression *call, struct symbol *type, const char *value, struct range_list **rl);
usr/src/tools/smatch/src/smatch_extra.h
67
int possibly_true(struct expression *left, int comparison, struct expression *right);
usr/src/tools/smatch/src/smatch_extra.h
71
int possibly_false(struct expression *left, int comparison, struct expression *right);
usr/src/tools/smatch/src/smatch_flow.c
1101
expr_set_parent_stmt(stmt->expression, stmt);
usr/src/tools/smatch/src/smatch_flow.c
1104
__split_expr(stmt->expression);
usr/src/tools/smatch/src/smatch_flow.c
1222
static void split_expr_list(struct expression_list *expr_list, struct expression *parent)
usr/src/tools/smatch/src/smatch_flow.c
1224
struct expression *expr;
usr/src/tools/smatch/src/smatch_flow.c
1257
typedef void (fake_cb)(struct expression *expr);
usr/src/tools/smatch/src/smatch_flow.c
1259
static int member_to_number(struct expression *expr, struct ident *member)
usr/src/tools/smatch/src/smatch_flow.c
1284
static struct ident *number_to_member(struct expression *expr, int num)
usr/src/tools/smatch/src/smatch_flow.c
1301
static void fake_element_assigns_helper(struct expression *array, struct expression_list *expr_list, fake_cb *fake_cb);
usr/src/tools/smatch/src/smatch_flow.c
1303
static void set_inner_struct_members(struct expression *expr, struct symbol *member)
usr/src/tools/smatch/src/smatch_flow.c
1305
struct expression *edge_member, *assign;
usr/src/tools/smatch/src/smatch_flow.c
1338
static void set_unset_to_zero(struct symbol *type, struct expression *expr)
usr/src/tools/smatch/src/smatch_flow.c
1341
struct expression *member = NULL;
usr/src/tools/smatch/src/smatch_flow.c
1342
struct expression *assign;
usr/src/tools/smatch/src/smatch_flow.c
1375
static void fake_member_assigns_helper(struct expression *symbol, struct expression_list *members, fake_cb *fake_cb)
usr/src/tools/smatch/src/smatch_flow.c
1377
struct expression *deref, *assign, *tmp, *right;
usr/src/tools/smatch/src/smatch_flow.c
1439
static void fake_element_assigns_helper(struct expression *array, struct expression_list *expr_list, fake_cb *fake_cb)
usr/src/tools/smatch/src/smatch_flow.c
1441
struct expression *offset, *binop, *assign, *tmp;
usr/src/tools/smatch/src/smatch_flow.c
1482
struct expression *assign, *symbol;
usr/src/tools/smatch/src/smatch_flow.c
1515
static void call_global_assign_hooks(struct expression *assign)
usr/src/tools/smatch/src/smatch_flow.c
1522
struct expression *assign, *symbol;
usr/src/tools/smatch/src/smatch_flow.c
155
int is_assigned_call(struct expression *expr)
usr/src/tools/smatch/src/smatch_flow.c
157
struct expression *parent = expr_get_parent_expr(expr);
usr/src/tools/smatch/src/smatch_flow.c
1662
static void parse_inline(struct expression *call)
usr/src/tools/smatch/src/smatch_flow.c
1667
struct expression *orig_inline = __inline_fn;
usr/src/tools/smatch/src/smatch_flow.c
168
static int is_inline_func(struct expression *expr)
usr/src/tools/smatch/src/smatch_flow.c
177
static int is_noreturn_func(struct expression *expr)
usr/src/tools/smatch/src/smatch_flow.c
188
int inlinable(struct expression *expr)
usr/src/tools/smatch/src/smatch_flow.c
228
struct expression *expr;
usr/src/tools/smatch/src/smatch_flow.c
237
static int handle_comma_assigns(struct expression *expr)
usr/src/tools/smatch/src/smatch_flow.c
239
struct expression *right;
usr/src/tools/smatch/src/smatch_flow.c
240
struct expression *assign;
usr/src/tools/smatch/src/smatch_flow.c
256
static int handle_postop_assigns(struct expression *expr)
usr/src/tools/smatch/src/smatch_flow.c
258
struct expression *left, *fake_left;
usr/src/tools/smatch/src/smatch_flow.c
259
struct expression *assign;
usr/src/tools/smatch/src/smatch_flow.c
277
static int prev_expression_is_getting_address(struct expression *expr)
usr/src/tools/smatch/src/smatch_flow.c
279
struct expression *parent;
usr/src/tools/smatch/src/smatch_flow.c
299
static void handle_builtin_overflow_func(struct expression *expr)
usr/src/tools/smatch/src/smatch_flow.c
301
struct expression *a, *b, *res, *assign;
usr/src/tools/smatch/src/smatch_flow.c
321
static int handle__builtin_choose_expr(struct expression *expr)
usr/src/tools/smatch/src/smatch_flow.c
323
struct expression *const_expr, *expr1, *expr2;
usr/src/tools/smatch/src/smatch_flow.c
33
struct expression *__inline_fn;
usr/src/tools/smatch/src/smatch_flow.c
342
static int handle__builtin_choose_expr_assigns(struct expression *expr)
usr/src/tools/smatch/src/smatch_flow.c
344
struct expression *const_expr, *right, *expr1, *expr2, *fake;
usr/src/tools/smatch/src/smatch_flow.c
365
void __split_expr(struct expression *expr)
usr/src/tools/smatch/src/smatch_flow.c
428
struct expression *right;
usr/src/tools/smatch/src/smatch_flow.c
581
struct expression *expr;
usr/src/tools/smatch/src/smatch_flow.c
66
struct expression *get_switch_expr(void) { return top_expression(switch_expr_stack); }
usr/src/tools/smatch/src/smatch_flow.c
71
static void split_expr_list(struct expression_list *expr_list, struct expression *parent);
usr/src/tools/smatch/src/smatch_flow.c
724
if (stmt->type == STMT_EXPRESSION && !stmt->expression)
usr/src/tools/smatch/src/smatch_flow.c
73
static void parse_inline(struct expression *expr);
usr/src/tools/smatch/src/smatch_flow.c
746
struct expression *expr;
usr/src/tools/smatch/src/smatch_flow.c
780
static struct range_list *get_case_rl(struct expression *switch_expr,
usr/src/tools/smatch/src/smatch_flow.c
781
struct expression *case_expr,
usr/src/tools/smatch/src/smatch_flow.c
782
struct expression *case_to)
usr/src/tools/smatch/src/smatch_fn_arg_link.c
101
struct expression *fn, *tmp;
usr/src/tools/smatch/src/smatch_fn_arg_link.c
102
struct expression *arg;
usr/src/tools/smatch/src/smatch_fn_arg_link.c
134
static int is_recursive_call(struct expression *call)
usr/src/tools/smatch/src/smatch_fn_arg_link.c
143
static void check_passes_fn_and_data(struct expression *call, struct expression *fn, char *key, char *value)
usr/src/tools/smatch/src/smatch_fn_arg_link.c
145
struct expression *arg;
usr/src/tools/smatch/src/smatch_fn_arg_link.c
146
struct expression *tmp;
usr/src/tools/smatch/src/smatch_fn_arg_link.c
194
static void match_call_info(struct expression *call)
usr/src/tools/smatch/src/smatch_fn_arg_link.c
30
static void save_in_fn_ptr_data_link_table(struct expression *fn, struct expression *arg)
usr/src/tools/smatch/src/smatch_fn_arg_link.c
76
static int print_calls_parameter(struct expression *call)
usr/src/tools/smatch/src/smatch_fn_arg_link.c
78
struct expression *arg;
usr/src/tools/smatch/src/smatch_fn_arg_link.c
99
static int print_call_is_linked(struct expression *call)
usr/src/tools/smatch/src/smatch_fresh_alloc.c
104
bool is_fresh_alloc(struct expression *expr)
usr/src/tools/smatch/src/smatch_fresh_alloc.c
130
static void record_alloc_func(int return_id, char *return_ranges, struct expression *expr)
usr/src/tools/smatch/src/smatch_fresh_alloc.c
137
static void set_unfresh(struct expression *expr)
usr/src/tools/smatch/src/smatch_fresh_alloc.c
150
static void match_assign(struct expression *expr)
usr/src/tools/smatch/src/smatch_fresh_alloc.c
155
static void match_call(struct expression *expr)
usr/src/tools/smatch/src/smatch_fresh_alloc.c
157
struct expression *arg;
usr/src/tools/smatch/src/smatch_fresh_alloc.c
164
static struct expression *handled;
usr/src/tools/smatch/src/smatch_fresh_alloc.c
165
static void set_fresh(struct expression *expr)
usr/src/tools/smatch/src/smatch_fresh_alloc.c
183
static void returns_fresh_alloc(struct expression *expr, int param, char *key, char *value)
usr/src/tools/smatch/src/smatch_fresh_alloc.c
193
static void match_alloc(const char *fn, struct expression *expr, void *_size_arg)
usr/src/tools/smatch/src/smatch_fresh_alloc.c
85
static int fresh_from_db(struct expression *call)
usr/src/tools/smatch/src/smatch_function_hooks.c
1027
static int handle_implied_return(struct expression *expr)
usr/src/tools/smatch/src/smatch_function_hooks.c
1038
static void match_assign_call(struct expression *expr)
usr/src/tools/smatch/src/smatch_function_hooks.c
1042
struct expression *right;
usr/src/tools/smatch/src/smatch_function_hooks.c
1175
static void db_return_states(struct expression *expr)
usr/src/tools/smatch/src/smatch_function_hooks.c
1209
static int is_condition_call(struct expression *expr)
usr/src/tools/smatch/src/smatch_function_hooks.c
1211
struct expression *tmp;
usr/src/tools/smatch/src/smatch_function_hooks.c
1223
static void db_return_states_call(struct expression *expr)
usr/src/tools/smatch/src/smatch_function_hooks.c
1235
static void match_function_call(struct expression *expr)
usr/src/tools/smatch/src/smatch_function_hooks.c
1238
struct expression *fn;
usr/src/tools/smatch/src/smatch_function_hooks.c
1250
static void match_macro_assign(struct expression *expr)
usr/src/tools/smatch/src/smatch_function_hooks.c
1254
struct expression *right;
usr/src/tools/smatch/src/smatch_function_hooks.c
1265
int get_implied_return(struct expression *expr, struct range_list **rl)
usr/src/tools/smatch/src/smatch_function_hooks.c
184
static void call_return_states_after_hooks(struct expression *expr)
usr/src/tools/smatch/src/smatch_function_hooks.c
195
const char *fn, struct expression *expr)
usr/src/tools/smatch/src/smatch_function_hooks.c
211
const char *fn, struct expression *call_expr,
usr/src/tools/smatch/src/smatch_function_hooks.c
212
struct expression *assign_expr)
usr/src/tools/smatch/src/smatch_function_hooks.c
247
static int assign_ranged_funcs(const char *fn, struct expression *expr,
usr/src/tools/smatch/src/smatch_function_hooks.c
303
static void call_implies_callbacks(int comparison, struct expression *expr, sval_t sval, int left, struct stree **implied_true, struct stree **implied_false)
usr/src/tools/smatch/src/smatch_function_hooks.c
356
struct expression *expr;
usr/src/tools/smatch/src/smatch_function_hooks.c
367
struct expression *var_expr;
usr/src/tools/smatch/src/smatch_function_hooks.c
388
static bool fake_a_param_assignment(struct expression *expr, const char *return_str, struct smatch_state *orig)
usr/src/tools/smatch/src/smatch_function_hooks.c
390
struct expression *arg, *left, *right, *tmp, *fake_assign;
usr/src/tools/smatch/src/smatch_function_hooks.c
477
struct expression *expr = db_info->expr->left;
usr/src/tools/smatch/src/smatch_function_hooks.c
497
struct expression *expr = db_info->expr->left;
usr/src/tools/smatch/src/smatch_function_hooks.c
513
struct expression *expr = db_info->var_expr;
usr/src/tools/smatch/src/smatch_function_hooks.c
525
static void handle_ret_equals_param(char *ret_string, struct range_list *rl, struct expression *call)
usr/src/tools/smatch/src/smatch_function_hooks.c
529
struct expression *arg;
usr/src/tools/smatch/src/smatch_function_hooks.c
547
static int impossible_limit(struct expression *expr, int param, char *key, char *value)
usr/src/tools/smatch/src/smatch_function_hooks.c
549
struct expression *arg;
usr/src/tools/smatch/src/smatch_function_hooks.c
602
static int is_impossible_data(int type, struct expression *expr, int param, char *key, char *value)
usr/src/tools/smatch/src/smatch_function_hooks.c
614
static int func_type_mismatch(struct expression *expr, const char *value)
usr/src/tools/smatch/src/smatch_function_hooks.c
736
static void compare_db_return_states_callbacks(struct expression *left, int comparison, struct expression *right, struct stree *implied_true, struct stree *implied_false)
usr/src/tools/smatch/src/smatch_function_hooks.c
744
struct expression *var_expr;
usr/src/tools/smatch/src/smatch_function_hooks.c
745
struct expression *call_expr;
usr/src/tools/smatch/src/smatch_function_hooks.c
845
void function_comparison(struct expression *left, int comparison, struct expression *right)
usr/src/tools/smatch/src/smatch_function_hooks.c
847
struct expression *var_expr;
usr/src/tools/smatch/src/smatch_function_hooks.c
848
struct expression *call_expr;
usr/src/tools/smatch/src/smatch_function_hooks.c
881
struct expression *expr;
usr/src/tools/smatch/src/smatch_function_hooks.c
979
static int db_return_states_assign(struct expression *expr)
usr/src/tools/smatch/src/smatch_function_hooks.c
981
struct expression *right;
usr/src/tools/smatch/src/smatch_function_ptrs.c
155
char *get_returned_ptr(struct expression *expr)
usr/src/tools/smatch/src/smatch_function_ptrs.c
180
char *get_fnptr_name(struct expression *expr)
usr/src/tools/smatch/src/smatch_function_ptrs.c
235
static void match_passes_function_pointer(struct expression *expr)
usr/src/tools/smatch/src/smatch_function_ptrs.c
237
struct expression *arg, *tmp;
usr/src/tools/smatch/src/smatch_function_ptrs.c
286
static int can_hold_function_ptr(struct expression *expr)
usr/src/tools/smatch/src/smatch_function_ptrs.c
30
static char *get_from__symbol_get(struct expression *expr)
usr/src/tools/smatch/src/smatch_function_ptrs.c
313
static void match_function_assign(struct expression *expr)
usr/src/tools/smatch/src/smatch_function_ptrs.c
315
struct expression *right;
usr/src/tools/smatch/src/smatch_function_ptrs.c
32
struct expression *arg;
usr/src/tools/smatch/src/smatch_function_ptrs.c
369
static void match_returns_function_pointer(struct expression *expr)
usr/src/tools/smatch/src/smatch_function_ptrs.c
401
struct expression *expr;
usr/src/tools/smatch/src/smatch_function_ptrs.c
53
static int xxx_is_array(struct expression *expr)
usr/src/tools/smatch/src/smatch_function_ptrs.c
81
static struct expression *xxx_get_array_base(struct expression *expr)
usr/src/tools/smatch/src/smatch_function_ptrs.c
93
static char *get_array_ptr(struct expression *expr)
usr/src/tools/smatch/src/smatch_function_ptrs.c
95
struct expression *array;
usr/src/tools/smatch/src/smatch_helper.c
1035
struct expression *get_last_expr_from_expression_stmt(struct expression *expr)
usr/src/tools/smatch/src/smatch_helper.c
1055
return last_stmt->expression;
usr/src/tools/smatch/src/smatch_helper.c
1058
return stmt->expression;
usr/src/tools/smatch/src/smatch_helper.c
106
struct smatch_state *alloc_state_expr(struct expression *expr)
usr/src/tools/smatch/src/smatch_helper.c
1094
int get_param_num(struct expression *expr)
usr/src/tools/smatch/src/smatch_helper.c
1146
int parent_is_gone(struct expression *expr)
usr/src/tools/smatch/src/smatch_helper.c
1209
int expr_equiv(struct expression *one, struct expression *two)
usr/src/tools/smatch/src/smatch_helper.c
133
struct expression *get_argument_from_call_expr(struct expression_list *args,
usr/src/tools/smatch/src/smatch_helper.c
136
struct expression *expr;
usr/src/tools/smatch/src/smatch_helper.c
150
struct expression *get_array_expr(struct expression *expr)
usr/src/tools/smatch/src/smatch_helper.c
152
struct expression *parent;
usr/src/tools/smatch/src/smatch_helper.c
176
struct expression *expr, int len,
usr/src/tools/smatch/src/smatch_helper.c
187
struct expression *deref;
usr/src/tools/smatch/src/smatch_helper.c
193
struct expression *unop = strip_expr(deref->unop);
usr/src/tools/smatch/src/smatch_helper.c
272
struct expression *array_expr;
usr/src/tools/smatch/src/smatch_helper.c
318
struct expression *tmp;
usr/src/tools/smatch/src/smatch_helper.c
382
struct expression *expr;
usr/src/tools/smatch/src/smatch_helper.c
389
struct expression *expr, int len,
usr/src/tools/smatch/src/smatch_helper.c
431
char *expr_to_str_sym(struct expression *expr, struct symbol **sym_ptr)
usr/src/tools/smatch/src/smatch_helper.c
450
char *expr_to_str(struct expression *expr)
usr/src/tools/smatch/src/smatch_helper.c
460
char *expr_to_var_sym(struct expression *expr,
usr/src/tools/smatch/src/smatch_helper.c
484
char *expr_to_var(struct expression *expr)
usr/src/tools/smatch/src/smatch_helper.c
489
struct symbol *expr_to_sym(struct expression *expr)
usr/src/tools/smatch/src/smatch_helper.c
499
int get_complication_score(struct expression *expr)
usr/src/tools/smatch/src/smatch_helper.c
535
struct expression *reorder_expr_alphabetically(struct expression *expr)
usr/src/tools/smatch/src/smatch_helper.c
537
struct expression *ret;
usr/src/tools/smatch/src/smatch_helper.c
561
char *expr_to_chunk_helper(struct expression *expr, struct symbol **sym, struct var_sym_list **vsl)
usr/src/tools/smatch/src/smatch_helper.c
611
char *expr_to_known_chunk_sym(struct expression *expr, struct symbol **sym)
usr/src/tools/smatch/src/smatch_helper.c
616
char *expr_to_chunk_sym_vsl(struct expression *expr, struct symbol **sym, struct var_sym_list **vsl)
usr/src/tools/smatch/src/smatch_helper.c
621
int sym_name_is(const char *name, struct expression *expr)
usr/src/tools/smatch/src/smatch_helper.c
632
int expr_is_zero(struct expression *expr)
usr/src/tools/smatch/src/smatch_helper.c
641
int is_array(struct expression *expr)
usr/src/tools/smatch/src/smatch_helper.c
667
struct expression *get_array_base(struct expression *expr)
usr/src/tools/smatch/src/smatch_helper.c
679
struct expression *get_array_offset(struct expression *expr)
usr/src/tools/smatch/src/smatch_helper.c
698
struct statement *get_expression_statement(struct expression *expr)
usr/src/tools/smatch/src/smatch_helper.c
715
struct expression *strip_parens(struct expression *expr)
usr/src/tools/smatch/src/smatch_helper.c
733
static struct expression *strip_expr_helper(struct expression *expr, bool set_parent)
usr/src/tools/smatch/src/smatch_helper.c
748
struct expression *unop;
usr/src/tools/smatch/src/smatch_helper.c
806
struct expression *strip_expr(struct expression *expr)
usr/src/tools/smatch/src/smatch_helper.c
811
struct expression *strip_expr_set_parent(struct expression *expr)
usr/src/tools/smatch/src/smatch_helper.c
830
int is_error_return(struct expression *expr)
usr/src/tools/smatch/src/smatch_helper.c
861
int getting_address(struct expression *expr)
usr/src/tools/smatch/src/smatch_helper.c
878
int get_struct_and_member(struct expression *expr, const char **type, const char **member)
usr/src/tools/smatch/src/smatch_helper.c
901
char *get_member_name(struct expression *expr)
usr/src/tools/smatch/src/smatch_helper.c
922
struct expression *deref;
usr/src/tools/smatch/src/smatch_hooks.c
128
((expr_func *)fn)((struct expression *)data);
usr/src/tools/smatch/src/smatch_hooks.c
168
void __pass_case_to_client(struct expression *switch_expr,
usr/src/tools/smatch/src/smatch_hooks.c
171
typedef void (case_func)(struct expression *switch_expr,
usr/src/tools/smatch/src/smatch_hooks.c
36
typedef void (expr_func)(struct expression *expr);
usr/src/tools/smatch/src/smatch_ignore.c
35
void add_ignore_expr(int owner, struct expression *expr)
usr/src/tools/smatch/src/smatch_ignore.c
47
int is_ignored_expr(int owner, struct expression *expr)
usr/src/tools/smatch/src/smatch_imaginary_absolute.c
49
static void reset(struct sm_state *sm, struct expression *mod_expr)
usr/src/tools/smatch/src/smatch_imaginary_absolute.c
54
void __save_imaginary_state(struct expression *expr, struct range_list *true_rl, struct range_list *false_rl)
usr/src/tools/smatch/src/smatch_imaginary_absolute.c
61
int get_imaginary_absolute(struct expression *expr, struct range_list **rl)
usr/src/tools/smatch/src/smatch_implied.c
1001
static void set_extra_implied_states(struct expression *expr)
usr/src/tools/smatch/src/smatch_implied.c
1010
void param_limit_implications(struct expression *expr, int param, char *key, char *value, struct stree **implied)
usr/src/tools/smatch/src/smatch_implied.c
1012
struct expression *orig_expr, *arg;
usr/src/tools/smatch/src/smatch_implied.c
1088
struct stree *__implied_case_stree(struct expression *switch_expr,
usr/src/tools/smatch/src/smatch_implied.c
1204
int assume(struct expression *expr)
usr/src/tools/smatch/src/smatch_implied.c
1224
int impossible_assumption(struct expression *left, int op, sval_t sval)
usr/src/tools/smatch/src/smatch_implied.c
1226
struct expression *value;
usr/src/tools/smatch/src/smatch_implied.c
1227
struct expression *comparison;
usr/src/tools/smatch/src/smatch_implied.c
1241
void __extra_match_condition(struct expression *expr);
usr/src/tools/smatch/src/smatch_implied.c
1242
void __comparison_match_condition(struct expression *expr);
usr/src/tools/smatch/src/smatch_implied.c
1243
void __stored_condition(struct expression *expr);
usr/src/tools/smatch/src/smatch_implied.c
666
static struct expression *get_last_expr(struct statement *stmt)
usr/src/tools/smatch/src/smatch_implied.c
672
return last->expression;
usr/src/tools/smatch/src/smatch_implied.c
677
return last->label_statement->expression;
usr/src/tools/smatch/src/smatch_implied.c
683
static struct expression *get_left_most_expr(struct expression *expr)
usr/src/tools/smatch/src/smatch_implied.c
697
static int is_merged_expr(struct expression *expr)
usr/src/tools/smatch/src/smatch_implied.c
730
static int handle_comparison(struct expression *expr,
usr/src/tools/smatch/src/smatch_implied.c
736
struct expression *left;
usr/src/tools/smatch/src/smatch_implied.c
737
struct expression *right;
usr/src/tools/smatch/src/smatch_implied.c
778
static int handle_zero_comparison(struct expression *expr,
usr/src/tools/smatch/src/smatch_implied.c
819
static int handled_by_comparison_hook(struct expression *expr,
usr/src/tools/smatch/src/smatch_implied.c
851
static int handled_by_extra_states(struct expression *expr,
usr/src/tools/smatch/src/smatch_implied.c
867
static int handled_by_parsed_conditions(struct expression *expr,
usr/src/tools/smatch/src/smatch_implied.c
892
static int handled_by_stored_conditions(struct expression *expr,
usr/src/tools/smatch/src/smatch_implied.c
946
static void get_tf_states(struct expression *expr,
usr/src/tools/smatch/src/smatch_implied.c
967
static void save_implications_hook(struct expression *expr)
usr/src/tools/smatch/src/smatch_implied.c
974
static void set_implied_states(struct expression *expr)
usr/src/tools/smatch/src/smatch_impossible.c
33
static void handle_compare(struct expression *left, int op, struct expression *right)
usr/src/tools/smatch/src/smatch_impossible.c
62
static void match_condition(struct expression *expr)
usr/src/tools/smatch/src/smatch_impossible.c
80
static void match_case(struct expression *expr, struct range_list *rl)
usr/src/tools/smatch/src/smatch_impossible.c
87
static void print_impossible_return(int return_id, char *return_ranges, struct expression *expr)
usr/src/tools/smatch/src/smatch_integer_overflow.c
131
static void match_condition(struct expression *expr)
usr/src/tools/smatch/src/smatch_integer_overflow.c
137
int can_integer_overflow(struct symbol *type, struct expression *expr)
usr/src/tools/smatch/src/smatch_integer_overflow.c
181
int can_integer_overflow_expr(struct expression *expr)
usr/src/tools/smatch/src/smatch_integer_overflow.c
208
static int get_arg_nr(struct expression *call, struct expression *expr)
usr/src/tools/smatch/src/smatch_integer_overflow.c
210
struct expression *arg;
usr/src/tools/smatch/src/smatch_integer_overflow.c
223
static void check_links(struct expression *call, struct expression *arg, int nr, struct sm_state *sm, void *_vsl)
usr/src/tools/smatch/src/smatch_integer_overflow.c
228
struct expression *expr;
usr/src/tools/smatch/src/smatch_integer_overflow.c
25
static struct smatch_state *safe_state(struct expression *expr)
usr/src/tools/smatch/src/smatch_integer_overflow.c
255
static void match_call_info(struct expression *call)
usr/src/tools/smatch/src/smatch_integer_overflow.c
257
struct expression *arg;
usr/src/tools/smatch/src/smatch_integer_overflow.c
36
static char *save_links(struct expression *expr, struct symbol **sym, struct var_sym_list **vsl)
usr/src/tools/smatch/src/smatch_integer_overflow.c
54
static void match_divide(struct expression *expr)
usr/src/tools/smatch/src/smatch_integer_overflow.c
56
struct expression *left, *right, *binop;
usr/src/tools/smatch/src/smatch_integer_overflow.c
96
static void match_overflow_to_less_than(struct expression *expr)
usr/src/tools/smatch/src/smatch_integer_overflow.c
98
struct expression *left, *right;
usr/src/tools/smatch/src/smatch_kernel_user_data.c
1003
int get_user_rl(struct expression *expr, struct range_list **rl)
usr/src/tools/smatch/src/smatch_kernel_user_data.c
1017
int is_user_rl(struct expression *expr)
usr/src/tools/smatch/src/smatch_kernel_user_data.c
1036
static char *get_user_rl_str(struct expression *expr, struct symbol *type)
usr/src/tools/smatch/src/smatch_kernel_user_data.c
105
static void extra_nomod_hook(const char *name, struct symbol *sym, struct expression *expr, struct smatch_state *state)
usr/src/tools/smatch/src/smatch_kernel_user_data.c
1051
static void match_call_info(struct expression *expr)
usr/src/tools/smatch/src/smatch_kernel_user_data.c
1053
struct expression *arg;
usr/src/tools/smatch/src/smatch_kernel_user_data.c
1070
static void struct_member_callback(struct expression *call, int param, char *printed_name, struct sm_state *sm)
usr/src/tools/smatch/src/smatch_kernel_user_data.c
1110
static void db_param_set(struct expression *expr, int param, char *key, char *value)
usr/src/tools/smatch/src/smatch_kernel_user_data.c
1112
struct expression *arg;
usr/src/tools/smatch/src/smatch_kernel_user_data.c
1156
struct expression *expr;
usr/src/tools/smatch/src/smatch_kernel_user_data.c
1239
static void store_user_data_return(struct expression *expr, char *key, char *value)
usr/src/tools/smatch/src/smatch_kernel_user_data.c
124
static bool binop_capped(struct expression *expr)
usr/src/tools/smatch/src/smatch_kernel_user_data.c
1255
static void set_to_user_data(struct expression *expr, char *key, char *value)
usr/src/tools/smatch/src/smatch_kernel_user_data.c
1280
static void returns_param_user_data(struct expression *expr, int param, char *key, char *value)
usr/src/tools/smatch/src/smatch_kernel_user_data.c
1282
struct expression *arg;
usr/src/tools/smatch/src/smatch_kernel_user_data.c
1283
struct expression *call;
usr/src/tools/smatch/src/smatch_kernel_user_data.c
1309
static void returns_param_user_data_set(struct expression *expr, int param, char *key, char *value)
usr/src/tools/smatch/src/smatch_kernel_user_data.c
1311
struct expression *arg;
usr/src/tools/smatch/src/smatch_kernel_user_data.c
1340
static void param_set_to_user_data(int return_id, char *return_ranges, struct expression *expr)
usr/src/tools/smatch/src/smatch_kernel_user_data.c
1439
static void returns_param_capped(struct expression *expr, int param, char *key, char *value)
usr/src/tools/smatch/src/smatch_kernel_user_data.c
1467
static void match_inline_start(struct expression *expr)
usr/src/tools/smatch/src/smatch_kernel_user_data.c
1472
static void match_inline_end(struct expression *expr)
usr/src/tools/smatch/src/smatch_kernel_user_data.c
152
bool user_rl_capped(struct expression *expr)
usr/src/tools/smatch/src/smatch_kernel_user_data.c
178
bool user_rl_treat_untagged(struct expression *expr)
usr/src/tools/smatch/src/smatch_kernel_user_data.c
200
static void tag_inner_struct_members(struct expression *expr, struct symbol *member)
usr/src/tools/smatch/src/smatch_kernel_user_data.c
202
struct expression *edge_member;
usr/src/tools/smatch/src/smatch_kernel_user_data.c
229
static void tag_struct_members(struct symbol *type, struct expression *expr)
usr/src/tools/smatch/src/smatch_kernel_user_data.c
232
struct expression *member;
usr/src/tools/smatch/src/smatch_kernel_user_data.c
261
static void tag_base_type(struct expression *expr)
usr/src/tools/smatch/src/smatch_kernel_user_data.c
270
static void tag_as_user_data(struct expression *expr)
usr/src/tools/smatch/src/smatch_kernel_user_data.c
297
static void match_user_copy(const char *fn, struct expression *expr, void *_param)
usr/src/tools/smatch/src/smatch_kernel_user_data.c
300
struct expression *dest;
usr/src/tools/smatch/src/smatch_kernel_user_data.c
311
static int is_dev_attr_name(struct expression *expr)
usr/src/tools/smatch/src/smatch_kernel_user_data.c
325
static int ends_in_n(struct expression *expr)
usr/src/tools/smatch/src/smatch_kernel_user_data.c
344
static void match_sscanf(const char *fn, struct expression *expr, void *unused)
usr/src/tools/smatch/src/smatch_kernel_user_data.c
346
struct expression *str, *format, *arg;
usr/src/tools/smatch/src/smatch_kernel_user_data.c
372
static int is_skb_data(struct expression *expr)
usr/src/tools/smatch/src/smatch_kernel_user_data.c
408
static bool is_points_to_user_data_fn(struct expression *expr)
usr/src/tools/smatch/src/smatch_kernel_user_data.c
424
static int get_rl_from_function(struct expression *expr, struct range_list **rl)
usr/src/tools/smatch/src/smatch_kernel_user_data.c
441
int points_to_user_data(struct expression *expr)
usr/src/tools/smatch/src/smatch_kernel_user_data.c
480
static void set_points_to_user_data(struct expression *expr)
usr/src/tools/smatch/src/smatch_kernel_user_data.c
501
static int comes_from_skb_data(struct expression *expr)
usr/src/tools/smatch/src/smatch_kernel_user_data.c
516
static int handle_struct_assignment(struct expression *expr)
usr/src/tools/smatch/src/smatch_kernel_user_data.c
518
struct expression *right;
usr/src/tools/smatch/src/smatch_kernel_user_data.c
55
static void set_points_to_user_data(struct expression *expr);
usr/src/tools/smatch/src/smatch_kernel_user_data.c
555
static int handle_get_user(struct expression *expr)
usr/src/tools/smatch/src/smatch_kernel_user_data.c
574
static bool handle_op_assign(struct expression *expr)
usr/src/tools/smatch/src/smatch_kernel_user_data.c
576
struct expression *binop_expr;
usr/src/tools/smatch/src/smatch_kernel_user_data.c
609
static void match_assign(struct expression *expr)
usr/src/tools/smatch/src/smatch_kernel_user_data.c
612
static struct expression *handled;
usr/src/tools/smatch/src/smatch_kernel_user_data.c
614
struct expression *faked;
usr/src/tools/smatch/src/smatch_kernel_user_data.c
658
static void handle_eq_noteq(struct expression *expr)
usr/src/tools/smatch/src/smatch_kernel_user_data.c
69
static void match_save_states(struct expression *expr)
usr/src/tools/smatch/src/smatch_kernel_user_data.c
702
static void handle_compare(struct expression *expr)
usr/src/tools/smatch/src/smatch_kernel_user_data.c
704
struct expression *left, *right;
usr/src/tools/smatch/src/smatch_kernel_user_data.c
75
static void match_restore_states(struct expression *expr)
usr/src/tools/smatch/src/smatch_kernel_user_data.c
792
static void match_condition(struct expression *expr)
usr/src/tools/smatch/src/smatch_kernel_user_data.c
806
static void match_user_assign_function(const char *fn, struct expression *expr, void *unused)
usr/src/tools/smatch/src/smatch_kernel_user_data.c
812
static void match_returns_user_rl(const char *fn, struct expression *expr, void *unused)
usr/src/tools/smatch/src/smatch_kernel_user_data.c
817
static int get_user_macro_rl(struct expression *expr, struct range_list **rl)
usr/src/tools/smatch/src/smatch_kernel_user_data.c
819
struct expression *parent;
usr/src/tools/smatch/src/smatch_kernel_user_data.c
862
static int we_pass_user_data(struct expression *call)
usr/src/tools/smatch/src/smatch_kernel_user_data.c
864
struct expression *arg;
usr/src/tools/smatch/src/smatch_kernel_user_data.c
878
static int db_returned_user_rl(struct expression *call, struct range_list **rl)
usr/src/tools/smatch/src/smatch_kernel_user_data.c
900
struct range_list *var_user_rl(struct expression *expr)
usr/src/tools/smatch/src/smatch_kernel_user_data.c
970
struct expression *array = get_array_base(expr);
usr/src/tools/smatch/src/smatch_kernel_user_data.c
991
static bool is_ptr_subtract(struct expression *expr)
usr/src/tools/smatch/src/smatch_links.c
87
static void match_link_modify(struct sm_state *sm, struct expression *mod_expr)
usr/src/tools/smatch/src/smatch_math.c
1108
static sval_t handle_sizeof(struct expression *expr)
usr/src/tools/smatch/src/smatch_math.c
1152
static bool handle_strlen(struct expression *expr, int implied, int *recurse_cnt, struct range_list **res, sval_t *res_sval)
usr/src/tools/smatch/src/smatch_math.c
1154
struct expression *arg, *tmp;
usr/src/tools/smatch/src/smatch_math.c
1187
static bool handle_builtin_constant_p(struct expression *expr, int implied, int *recurse_cnt, sval_t *res_sval)
usr/src/tools/smatch/src/smatch_math.c
1189
struct expression *arg;
usr/src/tools/smatch/src/smatch_math.c
1200
static bool handle__builtin_choose_expr(struct expression *expr, int implied, int *recurse_cnt, struct range_list **res, sval_t *res_sval)
usr/src/tools/smatch/src/smatch_math.c
1202
struct expression *const_expr, *expr1, *expr2;
usr/src/tools/smatch/src/smatch_math.c
1217
static bool handle_call_rl(struct expression *expr, int implied, int *recurse_cnt, struct range_list **res, sval_t *res_sval)
usr/src/tools/smatch/src/smatch_math.c
1231
struct expression *arg;
usr/src/tools/smatch/src/smatch_math.c
126
static bool handle_ampersand_rl(struct expression *expr, int implied, int *recurse_cnt, struct range_list **res, sval_t *res_sval)
usr/src/tools/smatch/src/smatch_math.c
1264
static bool handle_cast(struct expression *expr, int implied, int *recurse_cnt, struct range_list **res, sval_t *res_sval)
usr/src/tools/smatch/src/smatch_math.c
1290
static bool get_offset_from_down(struct expression *expr, int implied, int *recurse_cnt, struct range_list **res, sval_t *res_sval)
usr/src/tools/smatch/src/smatch_math.c
1292
struct expression *index;
usr/src/tools/smatch/src/smatch_math.c
131
static bool handle_negate_rl(struct expression *expr, int implied, int *recurse_cnt, struct range_list **res, sval_t *res_sval)
usr/src/tools/smatch/src/smatch_math.c
1358
static bool get_offset_from_in(struct expression *expr, int implied, int *recurse_cnt, struct range_list **res, sval_t *res_sval)
usr/src/tools/smatch/src/smatch_math.c
1377
static bool handle_offsetof_rl(struct expression *expr, int implied, int *recurse_cnt, struct range_list **res, sval_t *res_sval)
usr/src/tools/smatch/src/smatch_math.c
1393
static bool get_rl_sval(struct expression *expr, int implied, int *recurse_cnt, struct range_list **res, sval_t *sval_res)
usr/src/tools/smatch/src/smatch_math.c
1493
static bool get_rl_internal(struct expression *expr, int implied, int *recurse_cnt, struct range_list **res)
usr/src/tools/smatch/src/smatch_math.c
1508
static bool get_rl_helper(struct expression *expr, int implied, struct range_list **res)
usr/src/tools/smatch/src/smatch_math.c
1530
struct expression *expr;
usr/src/tools/smatch/src/smatch_math.c
1554
static bool get_value_literal(struct expression *expr, sval_t *res_sval)
usr/src/tools/smatch/src/smatch_math.c
1556
struct expression *tmp;
usr/src/tools/smatch/src/smatch_math.c
1567
int get_value(struct expression *expr, sval_t *res_sval)
usr/src/tools/smatch/src/smatch_math.c
1569
struct range_list *(*orig_custom_fn)(struct expression *expr);
usr/src/tools/smatch/src/smatch_math.c
158
static bool handle_bitwise_negate(struct expression *expr, int implied, int *recurse_cnt, sval_t *res_sval)
usr/src/tools/smatch/src/smatch_math.c
1608
static bool get_implied_value_internal(struct expression *expr, int *recurse_cnt, sval_t *res_sval)
usr/src/tools/smatch/src/smatch_math.c
1621
int get_implied_value(struct expression *expr, sval_t *sval)
usr/src/tools/smatch/src/smatch_math.c
1631
int get_implied_value_fast(struct expression *expr, sval_t *sval)
usr/src/tools/smatch/src/smatch_math.c
1651
int get_implied_min(struct expression *expr, sval_t *sval)
usr/src/tools/smatch/src/smatch_math.c
1661
int get_implied_max(struct expression *expr, sval_t *sval)
usr/src/tools/smatch/src/smatch_math.c
1671
int get_implied_rl(struct expression *expr, struct range_list **rl)
usr/src/tools/smatch/src/smatch_math.c
1678
static int get_absolute_rl_internal(struct expression *expr, struct range_list **rl, int *recurse_cnt)
usr/src/tools/smatch/src/smatch_math.c
1687
int get_absolute_rl(struct expression *expr, struct range_list **rl)
usr/src/tools/smatch/src/smatch_math.c
1696
int get_real_absolute_rl(struct expression *expr, struct range_list **rl)
usr/src/tools/smatch/src/smatch_math.c
1705
int custom_get_absolute_rl(struct expression *expr,
usr/src/tools/smatch/src/smatch_math.c
1706
struct range_list *(*fn)(struct expression *expr),
usr/src/tools/smatch/src/smatch_math.c
1729
int get_hard_max(struct expression *expr, sval_t *sval)
usr/src/tools/smatch/src/smatch_math.c
173
static bool untrusted_type_min(struct expression *expr)
usr/src/tools/smatch/src/smatch_math.c
1739
int get_fuzzy_min(struct expression *expr, sval_t *sval)
usr/src/tools/smatch/src/smatch_math.c
1753
int get_fuzzy_max(struct expression *expr, sval_t *sval)
usr/src/tools/smatch/src/smatch_math.c
1767
int get_absolute_min(struct expression *expr, sval_t *sval)
usr/src/tools/smatch/src/smatch_math.c
1787
int get_absolute_max(struct expression *expr, sval_t *sval)
usr/src/tools/smatch/src/smatch_math.c
1807
int known_condition_true(struct expression *expr)
usr/src/tools/smatch/src/smatch_math.c
181
static bool handle_minus_preop(struct expression *expr, int implied, int *recurse_cnt, struct range_list **res, sval_t *res_sval)
usr/src/tools/smatch/src/smatch_math.c
1826
int known_condition_false(struct expression *expr)
usr/src/tools/smatch/src/smatch_math.c
1845
int implied_condition_true(struct expression *expr)
usr/src/tools/smatch/src/smatch_math.c
1886
int implied_condition_false(struct expression *expr)
usr/src/tools/smatch/src/smatch_math.c
1888
struct expression *tmp;
usr/src/tools/smatch/src/smatch_math.c
23
static bool get_rl_sval(struct expression *expr, int implied, int *recurse_cnt, struct range_list **res, sval_t *sval_res);
usr/src/tools/smatch/src/smatch_math.c
24
static bool get_rl_internal(struct expression *expr, int implied, int *recurse_cnt, struct range_list **res);
usr/src/tools/smatch/src/smatch_math.c
25
static bool handle_variable(struct expression *expr, int implied, int *recurse_cnt, struct range_list **res, sval_t *res_sval);
usr/src/tools/smatch/src/smatch_math.c
252
static bool handle_preop_rl(struct expression *expr, int implied, int *recurse_cnt, struct range_list **res, sval_t *res_sval)
usr/src/tools/smatch/src/smatch_math.c
26
static struct range_list *(*custom_handle_variable)(struct expression *expr);
usr/src/tools/smatch/src/smatch_math.c
272
static bool handle_divide_rl(struct expression *expr, int implied, int *recurse_cnt, struct range_list **res)
usr/src/tools/smatch/src/smatch_math.c
28
static bool get_implied_value_internal(struct expression *expr, int *recurse_cnt, sval_t *res_sval);
usr/src/tools/smatch/src/smatch_math.c
29
static int get_absolute_rl_internal(struct expression *expr, struct range_list **rl, int *recurse_cnt);
usr/src/tools/smatch/src/smatch_math.c
297
static int handle_offset_subtraction(struct expression *expr)
usr/src/tools/smatch/src/smatch_math.c
299
struct expression *left, *right;
usr/src/tools/smatch/src/smatch_math.c
359
static bool handle_subtract_rl(struct expression *expr, int implied, int *recurse_cnt, struct range_list **res)
usr/src/tools/smatch/src/smatch_math.c
453
static bool handle_mod_rl(struct expression *expr, int implied, int *recurse_cnt, struct range_list **res)
usr/src/tools/smatch/src/smatch_math.c
482
static bool handle_bitwise_AND(struct expression *expr, int implied, int *recurse_cnt, struct range_list **res)
usr/src/tools/smatch/src/smatch_math.c
509
static bool use_rl_binop(struct expression *expr, int implied, int *recurse_cnt, struct range_list **res)
usr/src/tools/smatch/src/smatch_math.c
530
static bool handle_right_shift(struct expression *expr, int implied, int *recurse_cnt, struct range_list **res)
usr/src/tools/smatch/src/smatch_math.c
563
static bool handle_left_shift(struct expression *expr, int implied, int *recurse_cnt, struct range_list **res)
usr/src/tools/smatch/src/smatch_math.c
586
static bool handle_known_binop(struct expression *expr, sval_t *res)
usr/src/tools/smatch/src/smatch_math.c
640
static bool handle_binop_rl_helper(struct expression *expr, int implied, int *recurse_cnt, struct range_list **res, sval_t *res_sval)
usr/src/tools/smatch/src/smatch_math.c
66
struct expression *expr;
usr/src/tools/smatch/src/smatch_math.c
696
static bool handle_binop_rl(struct expression *expr, int implied, int *recurse_cnt, struct range_list **res, sval_t *res_sval)
usr/src/tools/smatch/src/smatch_math.c
728
static int do_comparison(struct expression *expr)
usr/src/tools/smatch/src/smatch_math.c
75
expr = stmt->label_statement->expression;
usr/src/tools/smatch/src/smatch_math.c
754
static bool handle_comparison_rl(struct expression *expr, int implied, int *recurse_cnt, struct range_list **res, sval_t *res_sval)
usr/src/tools/smatch/src/smatch_math.c
79
expr = stmt->expression;
usr/src/tools/smatch/src/smatch_math.c
806
static bool handle_logical_rl(struct expression *expr, int implied, int *recurse_cnt, struct range_list **res, sval_t *res_sval)
usr/src/tools/smatch/src/smatch_math.c
858
static bool handle_conditional_rl(struct expression *expr, int implied, int *recurse_cnt, struct range_list **res, sval_t *res_sval)
usr/src/tools/smatch/src/smatch_math.c
86
static bool handle_expression_statement_rl(struct expression *expr, int implied,
usr/src/tools/smatch/src/smatch_math.c
860
struct expression *cond_true;
usr/src/tools/smatch/src/smatch_math.c
910
static bool get_fuzzy_max_helper(struct expression *expr, sval_t *max)
usr/src/tools/smatch/src/smatch_math.c
92
static bool handle_address(struct expression *expr, int implied, int *recurse_cnt, struct range_list **res, sval_t *res_sval)
usr/src/tools/smatch/src/smatch_math.c
927
static bool get_fuzzy_min_helper(struct expression *expr, sval_t *min)
usr/src/tools/smatch/src/smatch_math.c
947
int get_const_value(struct expression *expr, sval_t *sval)
usr/src/tools/smatch/src/smatch_math.c
964
struct range_list *var_to_absolute_rl(struct expression *expr)
usr/src/tools/smatch/src/smatch_math.c
986
static bool handle_variable(struct expression *expr, int implied, int *recurse_cnt, struct range_list **res, sval_t *res_sval)
usr/src/tools/smatch/src/smatch_modification_hooks.c
111
static void call_modification_hooks_name_sym(char *name, struct symbol *sym, struct expression *mod_expr, int late)
usr/src/tools/smatch/src/smatch_modification_hooks.c
141
static void call_modification_hooks(struct expression *expr, struct expression *mod_expr, int late)
usr/src/tools/smatch/src/smatch_modification_hooks.c
154
static void db_param_add(struct expression *expr, int param, char *key, char *value)
usr/src/tools/smatch/src/smatch_modification_hooks.c
156
struct expression *arg;
usr/src/tools/smatch/src/smatch_modification_hooks.c
189
static void match_assign(struct expression *expr, int late)
usr/src/tools/smatch/src/smatch_modification_hooks.c
194
static void unop_expr(struct expression *expr, int late)
usr/src/tools/smatch/src/smatch_modification_hooks.c
202
static void match_call(struct expression *expr)
usr/src/tools/smatch/src/smatch_modification_hooks.c
204
struct expression *arg, *tmp;
usr/src/tools/smatch/src/smatch_modification_hooks.c
221
struct expression *expr;
usr/src/tools/smatch/src/smatch_modification_hooks.c
230
static void match_assign_early(struct expression *expr)
usr/src/tools/smatch/src/smatch_modification_hooks.c
235
static void unop_expr_early(struct expression *expr)
usr/src/tools/smatch/src/smatch_modification_hooks.c
245
static void match_assign_late(struct expression *expr)
usr/src/tools/smatch/src/smatch_modification_hooks.c
250
static void unop_expr_late(struct expression *expr)
usr/src/tools/smatch/src/smatch_modification_hooks.c
260
struct smatch_state *get_modification_state(struct expression *expr)
usr/src/tools/smatch/src/smatch_modification_hooks.c
49
static struct smatch_state *alloc_my_state(struct expression *expr, struct smatch_state *prev)
usr/src/tools/smatch/src/smatch_mtag.c
112
static void update_mtag_info(struct expression *expr, mtag_t tag,
usr/src/tools/smatch/src/smatch_mtag.c
125
struct smatch_state *get_mtag_return(struct expression *expr, struct smatch_state *state)
usr/src/tools/smatch/src/smatch_mtag.c
127
struct expression *left, *right;
usr/src/tools/smatch/src/smatch_mtag.c
168
int get_string_mtag(struct expression *expr, mtag_t *tag)
usr/src/tools/smatch/src/smatch_mtag.c
232
static int get_array_mtag_offset(struct expression *expr, mtag_t *tag, int *offset)
usr/src/tools/smatch/src/smatch_mtag.c
234
struct expression *array, *offset_expr;
usr/src/tools/smatch/src/smatch_mtag.c
263
struct range_list *swap_mtag_seed(struct expression *expr, struct range_list *rl)
usr/src/tools/smatch/src/smatch_mtag.c
283
int create_mtag_alias(mtag_t tag, struct expression *expr, mtag_t *new)
usr/src/tools/smatch/src/smatch_mtag.c
310
static int get_implied_mtag_offset(struct expression *expr, mtag_t *tag, int *offset)
usr/src/tools/smatch/src/smatch_mtag.c
341
int expr_to_mtag_offset(struct expression *expr, mtag_t *tag, int *offset)
usr/src/tools/smatch/src/smatch_mtag.c
404
int get_mtag_sval(struct expression *expr, sval_t *sval)
usr/src/tools/smatch/src/smatch_mtag.c
95
static char *get_allocator_info(struct expression *expr, struct smatch_state *state)
usr/src/tools/smatch/src/smatch_mtag_data.c
146
static bool parent_is_fresh_alloc(struct expression *expr)
usr/src/tools/smatch/src/smatch_mtag_data.c
156
void update_mtag_data(struct expression *expr, struct smatch_state *state)
usr/src/tools/smatch/src/smatch_mtag_data.c
194
static void match_global_assign(struct expression *expr)
usr/src/tools/smatch/src/smatch_mtag_data.c
313
int get_mtag_rl(struct expression *expr, struct range_list **rl)
usr/src/tools/smatch/src/smatch_mtag_data.c
72
static bool is_ignored_macro(struct expression *expr)
usr/src/tools/smatch/src/smatch_mtag_data.c
84
static bool is_head_next(struct expression *expr)
usr/src/tools/smatch/src/smatch_mtag_map.c
29
static void match_assign(struct expression *expr)
usr/src/tools/smatch/src/smatch_mtag_map.c
31
struct expression *left, *right;
usr/src/tools/smatch/src/smatch_nul_terminator.c
112
static void match_string_assign(struct expression *expr)
usr/src/tools/smatch/src/smatch_nul_terminator.c
141
static void struct_member_callback(struct expression *call, int param, char *printed_name, struct sm_state *sm)
usr/src/tools/smatch/src/smatch_nul_terminator.c
152
static void match_call_info(struct expression *expr)
usr/src/tools/smatch/src/smatch_nul_terminator.c
155
struct expression *arg;
usr/src/tools/smatch/src/smatch_nul_terminator.c
184
static void split_return_info(int return_id, char *return_ranges, struct expression *expr)
usr/src/tools/smatch/src/smatch_nul_terminator.c
231
static void return_info_terminated(struct expression *expr, int param, char *key, char *value)
usr/src/tools/smatch/src/smatch_nul_terminator.c
233
struct expression *arg;
usr/src/tools/smatch/src/smatch_nul_terminator.c
240
struct expression *call = expr;
usr/src/tools/smatch/src/smatch_nul_terminator.c
268
bool is_nul_terminated(struct expression *expr)
usr/src/tools/smatch/src/smatch_nul_terminator.c
275
static void match_strnlen_test(struct expression *expr)
usr/src/tools/smatch/src/smatch_nul_terminator.c
277
struct expression *left, *tmp, *arg;
usr/src/tools/smatch/src/smatch_nul_terminator.c
35
static void set_terminated(struct expression *expr, struct smatch_state *state)
usr/src/tools/smatch/src/smatch_nul_terminator.c
47
static void match_nul_assign(struct expression *expr)
usr/src/tools/smatch/src/smatch_nul_terminator.c
49
struct expression *array;
usr/src/tools/smatch/src/smatch_nul_terminator.c
90
static struct smatch_state *get_terminated_state(struct expression *expr)
usr/src/tools/smatch/src/smatch_param_cleared.c
136
static void match_usb_control_msg(const char *fn, struct expression *expr, void *_size_arg)
usr/src/tools/smatch/src/smatch_param_cleared.c
138
struct expression *inout;
usr/src/tools/smatch/src/smatch_param_cleared.c
149
static void match_assign(struct expression *expr)
usr/src/tools/smatch/src/smatch_param_cleared.c
163
static void match_array_assign(struct expression *expr)
usr/src/tools/smatch/src/smatch_param_cleared.c
165
struct expression *array_expr;
usr/src/tools/smatch/src/smatch_param_cleared.c
38
static void db_param_cleared(struct expression *expr, int param, char *key, char *value)
usr/src/tools/smatch/src/smatch_param_cleared.c
40
struct expression *arg;
usr/src/tools/smatch/src/smatch_param_cleared.c
63
static void match_memset(const char *fn, struct expression *expr, void *arg)
usr/src/tools/smatch/src/smatch_param_cleared.c
68
static void match_memcpy(const char *fn, struct expression *expr, void *arg)
usr/src/tools/smatch/src/smatch_param_cleared.c
73
static void print_return_value_param(int return_id, char *return_ranges, struct expression *expr)
usr/src/tools/smatch/src/smatch_param_compare_limit.c
127
void __compare_param_limit_hook(struct expression *left_expr, struct expression *right_expr,
usr/src/tools/smatch/src/smatch_param_compare_limit.c
174
static void print_return_comparison(int return_id, char *return_ranges, struct expression *expr)
usr/src/tools/smatch/src/smatch_param_compare_limit.c
306
static void db_return_comparison(struct expression *expr, int left_param, char *key, char *value)
usr/src/tools/smatch/src/smatch_param_compare_limit.c
308
struct expression *left_arg, *right_arg;
usr/src/tools/smatch/src/smatch_param_filter.c
159
static void print_return_value_param(int return_id, char *return_ranges, struct expression *expr)
usr/src/tools/smatch/src/smatch_param_filter.c
50
static void match_save_states(struct expression *expr)
usr/src/tools/smatch/src/smatch_param_filter.c
56
static void match_restore_states(struct expression *expr)
usr/src/tools/smatch/src/smatch_param_filter.c
93
static void extra_mod_hook(const char *name, struct symbol *sym, struct expression *expr, struct smatch_state *state)
usr/src/tools/smatch/src/smatch_param_limit.c
133
static void print_return_value_param(int return_id, char *return_ranges, struct expression *expr)
usr/src/tools/smatch/src/smatch_param_limit.c
169
static void extra_mod_hook(const char *name, struct symbol *sym, struct expression *expr, struct smatch_state *state)
usr/src/tools/smatch/src/smatch_param_limit.c
182
static void match_save_states(struct expression *expr)
usr/src/tools/smatch/src/smatch_param_limit.c
188
static void match_restore_states(struct expression *expr)
usr/src/tools/smatch/src/smatch_param_set.c
101
struct expression *array, *offset;
usr/src/tools/smatch/src/smatch_param_set.c
175
static void print_return_value_param_helper(int return_id, char *return_ranges, struct expression *expr, int limit)
usr/src/tools/smatch/src/smatch_param_set.c
258
static void print_return_value_param(int return_id, char *return_ranges, struct expression *expr)
usr/src/tools/smatch/src/smatch_param_set.c
263
void print_limited_param_set(int return_id, char *return_ranges, struct expression *expr)
usr/src/tools/smatch/src/smatch_param_set.c
313
int param_was_set(struct expression *expr)
usr/src/tools/smatch/src/smatch_param_set.c
49
struct expression *faked;
usr/src/tools/smatch/src/smatch_param_set.c
86
static void extra_mod_hook(const char *name, struct symbol *sym, struct expression *expr, struct smatch_state *state)
usr/src/tools/smatch/src/smatch_param_set.c
99
static void match_array_assignment(struct expression *expr)
usr/src/tools/smatch/src/smatch_param_to_mtag_data.c
110
static void propogate_assignment(struct expression *expr, mtag_t tag, int offset, int param, char *key)
usr/src/tools/smatch/src/smatch_param_to_mtag_data.c
112
struct expression *arg;
usr/src/tools/smatch/src/smatch_param_to_mtag_data.c
135
static void assign_to_alias(struct expression *expr, int param, mtag_t tag, int offset, char *key)
usr/src/tools/smatch/src/smatch_param_to_mtag_data.c
137
struct expression *arg, *gen_expr;
usr/src/tools/smatch/src/smatch_param_to_mtag_data.c
164
static void call_does_mtag_assign(struct expression *expr, int param, char *key, char *value)
usr/src/tools/smatch/src/smatch_param_to_mtag_data.c
186
static void print_stored_to_mtag(int return_id, char *return_ranges, struct expression *expr)
usr/src/tools/smatch/src/smatch_param_to_mtag_data.c
79
static void match_assign(struct expression *expr)
usr/src/tools/smatch/src/smatch_param_to_mtag_data.c
81
struct expression *left;
usr/src/tools/smatch/src/smatch_param_used.c
105
static void match_restore_states(struct expression *expr)
usr/src/tools/smatch/src/smatch_param_used.c
46
static void set_param_used(struct expression *call, struct expression *arg, char *key, char *unused)
usr/src/tools/smatch/src/smatch_param_used.c
99
static void match_save_states(struct expression *expr)
usr/src/tools/smatch/src/smatch_parse_call_math.c
117
static int read_rl_from_var(struct expression *call, const char *p, const char **end, struct range_list **rl)
usr/src/tools/smatch/src/smatch_parse_call_math.c
119
struct expression *arg;
usr/src/tools/smatch/src/smatch_parse_call_math.c
168
static int read_var_num(struct expression *call, const char *p, const char **end, struct range_list **rl)
usr/src/tools/smatch/src/smatch_parse_call_math.c
202
int parse_call_math_rl(struct expression *call, const char *math, struct range_list **rl)
usr/src/tools/smatch/src/smatch_parse_call_math.c
247
int parse_call_math(struct expression *call, char *math, sval_t *sval)
usr/src/tools/smatch/src/smatch_parse_call_math.c
268
static int get_arg_number(struct expression *expr)
usr/src/tools/smatch/src/smatch_parse_call_math.c
325
static int format_variable_helper(char *buf, int remaining, struct expression *expr)
usr/src/tools/smatch/src/smatch_parse_call_math.c
336
static int format_call_to_param_mapping(char *buf, int remaining, struct expression *expr)
usr/src/tools/smatch/src/smatch_parse_call_math.c
357
static int format_expr_helper(char *buf, int remaining, struct expression *expr)
usr/src/tools/smatch/src/smatch_parse_call_math.c
407
static char *format_expr(struct expression *expr)
usr/src/tools/smatch/src/smatch_parse_call_math.c
419
char *get_value_in_terms_of_parameter_math(struct expression *expr)
usr/src/tools/smatch/src/smatch_parse_call_math.c
421
struct expression *tmp;
usr/src/tools/smatch/src/smatch_parse_call_math.c
444
struct expression *tmp, *expr;
usr/src/tools/smatch/src/smatch_parse_call_math.c
470
static void match_alloc(const char *fn, struct expression *expr, void *_size_arg)
usr/src/tools/smatch/src/smatch_parse_call_math.c
473
struct expression *right;
usr/src/tools/smatch/src/smatch_parse_call_math.c
474
struct expression *size_expr;
usr/src/tools/smatch/src/smatch_parse_call_math.c
486
static char *swap_format(struct expression *call, char *format)
usr/src/tools/smatch/src/smatch_parse_call_math.c
491
struct expression *arg;
usr/src/tools/smatch/src/smatch_parse_call_math.c
552
static char *get_allocation_recipe_from_call(struct expression *expr)
usr/src/tools/smatch/src/smatch_parse_call_math.c
597
static void match_call_assignment(struct expression *expr)
usr/src/tools/smatch/src/smatch_parse_call_math.c
607
const char *get_allocation_math(struct expression *expr)
usr/src/tools/smatch/src/smatch_parse_call_math.c
609
struct expression *tmp;
usr/src/tools/smatch/src/smatch_parsed_conditions.c
48
void record_condition(struct expression *expr)
usr/src/tools/smatch/src/smatch_parsed_conditions.c
87
struct sm_state *parsed_condition_implication_hook(struct expression *expr,
usr/src/tools/smatch/src/smatch_passes_array_size.c
21
static int find_param_eq(struct expression *expr, int size)
usr/src/tools/smatch/src/smatch_passes_array_size.c
23
struct expression *arg;
usr/src/tools/smatch/src/smatch_passes_array_size.c
39
static void match_call(struct expression *expr)
usr/src/tools/smatch/src/smatch_passes_array_size.c
41
struct expression *arg;
usr/src/tools/smatch/src/smatch_ranges.c
1232
int possibly_true(struct expression *left, int comparison, struct expression *right)
usr/src/tools/smatch/src/smatch_ranges.c
1263
int possibly_false(struct expression *left, int comparison, struct expression *right)
usr/src/tools/smatch/src/smatch_ranges.c
210
struct expression *call, int *comparison,
usr/src/tools/smatch/src/smatch_ranges.c
211
struct expression **arg, const char **endp)
usr/src/tools/smatch/src/smatch_ranges.c
288
int str_to_comparison_arg(const char *str, struct expression *call, int *comparison, struct expression **arg)
usr/src/tools/smatch/src/smatch_ranges.c
300
static int get_val_from_key(int use_max, struct symbol *type, const char *c, struct expression *call, const char **endp, sval_t *sval)
usr/src/tools/smatch/src/smatch_ranges.c
302
struct expression *arg;
usr/src/tools/smatch/src/smatch_ranges.c
403
static struct range_list *filter_by_comparison_call(const char *c, struct expression *call, const char **endp, struct range_list *start_rl)
usr/src/tools/smatch/src/smatch_ranges.c
406
struct expression *arg;
usr/src/tools/smatch/src/smatch_ranges.c
433
static sval_t parse_val(int use_max, struct expression *call, struct symbol *type, const char *c, const char **endp)
usr/src/tools/smatch/src/smatch_ranges.c
518
static struct range_list *get_param_return_rl(struct expression *call, const char *call_math)
usr/src/tools/smatch/src/smatch_ranges.c
520
struct expression *arg;
usr/src/tools/smatch/src/smatch_ranges.c
533
static void str_to_rl_helper(struct expression *call, struct symbol *type, const char *str, const char **endp, struct range_list **rl)
usr/src/tools/smatch/src/smatch_ranges.c
605
static void str_to_dinfo(struct expression *call, struct symbol *type, const char *value, struct data_info *dinfo)
usr/src/tools/smatch/src/smatch_ranges.c
619
struct expression *arg;
usr/src/tools/smatch/src/smatch_ranges.c
687
void call_results_to_rl(struct expression *expr, struct symbol *type, const char *value, struct range_list **rl)
usr/src/tools/smatch/src/smatch_real_absolute.c
130
struct smatch_state *get_real_absolute_state(struct expression *expr)
usr/src/tools/smatch/src/smatch_real_absolute.c
39
void set_real_absolute(struct expression *expr, struct smatch_state *state)
usr/src/tools/smatch/src/smatch_real_absolute.c
44
static void extra_mod_hook(const char *name, struct symbol *sym, struct expression *expr, struct smatch_state *state)
usr/src/tools/smatch/src/smatch_real_absolute.c
98
static void match_assign(struct expression *expr)
usr/src/tools/smatch/src/smatch_recurse.c
114
static int has_symbol_helper(struct expression *expr, void *_sym)
usr/src/tools/smatch/src/smatch_recurse.c
125
int has_symbol(struct expression *expr, struct symbol *sym)
usr/src/tools/smatch/src/smatch_recurse.c
131
struct expression *expr;
usr/src/tools/smatch/src/smatch_recurse.c
136
static int has_var_helper(struct expression *expr, void *_var)
usr/src/tools/smatch/src/smatch_recurse.c
161
int has_variable(struct expression *expr, struct expression *var)
usr/src/tools/smatch/src/smatch_recurse.c
176
static int has_inc_dec_helper(struct expression *expr, void *unused)
usr/src/tools/smatch/src/smatch_recurse.c
187
int has_inc_dec(struct expression *expr)
usr/src/tools/smatch/src/smatch_recurse.c
22
static int recurse(struct expression *expr,
usr/src/tools/smatch/src/smatch_recurse.c
23
int (func)(struct expression *expr, void *p),
usr/src/tools/smatch/src/smatch_return_to_param.c
121
char *map_call_to_param_name_sym(struct expression *expr, struct symbol **sym)
usr/src/tools/smatch/src/smatch_return_to_param.c
144
static void store_mapping_helper(char *left_name, struct symbol *left_sym, struct expression *call, const char *return_string)
usr/src/tools/smatch/src/smatch_return_to_param.c
149
struct expression *arg, *new;
usr/src/tools/smatch/src/smatch_return_to_param.c
188
void __add_return_to_param_mapping(struct expression *expr, const char *return_string)
usr/src/tools/smatch/src/smatch_return_to_param.c
190
struct expression *call;
usr/src/tools/smatch/src/smatch_return_to_param.c
44
static void undef(struct sm_state *sm, struct expression *mod_expr)
usr/src/tools/smatch/src/smatch_returns.c
71
static void match_return(int return_id, char *return_ranges, struct expression *expr)
usr/src/tools/smatch/src/smatch_returns.c
90
static void match_save_states(struct expression *expr)
usr/src/tools/smatch/src/smatch_returns.c
99
static void match_restore_states(struct expression *expr)
usr/src/tools/smatch/src/smatch_start_states.c
36
static void match_save_states(struct expression *expr)
usr/src/tools/smatch/src/smatch_start_states.c
42
static void match_restore_states(struct expression *expr)
usr/src/tools/smatch/src/smatch_statement_count.c
58
static void insert_return_info(int return_id, char *return_ranges, struct expression *expr)
usr/src/tools/smatch/src/smatch_statement_count.c
68
static void select_return_info(struct expression *expr, int param, char *key, char *value)
usr/src/tools/smatch/src/smatch_states.c
1136
void __save_switch_states(struct expression *switch_expr)
usr/src/tools/smatch/src/smatch_states.c
1151
void __merge_switches(struct expression *switch_expr, struct range_list *case_rl)
usr/src/tools/smatch/src/smatch_states.c
187
struct sm_state *set_state_expr(int owner, struct expression *expr, struct smatch_state *state)
usr/src/tools/smatch/src/smatch_states.c
382
struct smatch_state *get_state_expr(int owner, struct expression *expr)
usr/src/tools/smatch/src/smatch_states.c
408
struct state_list *get_possible_states_expr(int owner, struct expression *expr)
usr/src/tools/smatch/src/smatch_states.c
435
struct sm_state *get_sm_state_expr(int owner, struct expression *expr)
usr/src/tools/smatch/src/smatch_states.c
461
void delete_state_expr(int owner, struct expression *expr)
usr/src/tools/smatch/src/smatch_states.c
586
void set_true_false_states_expr(int owner, struct expression *expr,
usr/src/tools/smatch/src/smatch_states.c
647
void __match_nullify_path_hook(const char *fn, struct expression *expr,
usr/src/tools/smatch/src/smatch_stored_conditions.c
111
static void save_link_var_sym(const char *var, struct symbol *sym, struct expression *condition)
usr/src/tools/smatch/src/smatch_stored_conditions.c
125
static void match_link_modify(struct sm_state *sm, struct expression *mod_expr)
usr/src/tools/smatch/src/smatch_stored_conditions.c
128
struct expression *tmp;
usr/src/tools/smatch/src/smatch_stored_conditions.c
141
static struct smatch_state *alloc_state(struct expression *expr, int is_true)
usr/src/tools/smatch/src/smatch_stored_conditions.c
154
static void store_all_links(struct expression *expr, struct expression *condition)
usr/src/tools/smatch/src/smatch_stored_conditions.c
185
static int condition_too_complicated(struct expression *expr)
usr/src/tools/smatch/src/smatch_stored_conditions.c
192
void __stored_condition(struct expression *expr)
usr/src/tools/smatch/src/smatch_stored_conditions.c
214
struct smatch_state *get_stored_condition(struct expression *expr)
usr/src/tools/smatch/src/smatch_stored_conditions.c
228
struct expression_list *get_conditions(struct expression *expr)
usr/src/tools/smatch/src/smatch_stored_conditions.c
278
struct sm_state *stored_condition_implication_hook(struct expression *expr,
usr/src/tools/smatch/src/smatch_stored_conditions.c
47
struct expression *tmp;
usr/src/tools/smatch/src/smatch_stored_conditions.c
75
struct expression *expr;
usr/src/tools/smatch/src/smatch_stored_conditions.c
84
static void insert_expression(struct expression_list **list, struct expression *expr)
usr/src/tools/smatch/src/smatch_stored_conditions.c
86
struct expression *tmp;
usr/src/tools/smatch/src/smatch_stored_conditions.c
99
struct expression *expr;
usr/src/tools/smatch/src/smatch_strings.c
110
static void match_assignment(struct expression *expr)
usr/src/tools/smatch/src/smatch_strings.c
129
static void match_string(struct expression *expr)
usr/src/tools/smatch/src/smatch_strings.c
49
struct expression *fake_string_from_mtag(mtag_t tag)
usr/src/tools/smatch/src/smatch_strings.c
61
static void match_strcpy(const char *fn, struct expression *expr, void *unused)
usr/src/tools/smatch/src/smatch_strings.c
63
struct expression *dest, *src;
usr/src/tools/smatch/src/smatch_strings.c
72
struct state_list *get_strings(struct expression *expr)
usr/src/tools/smatch/src/smatch_strlen.c
165
static void match_snprintf(const char *fn, struct expression *expr, void *unused)
usr/src/tools/smatch/src/smatch_strlen.c
167
struct expression *dest;
usr/src/tools/smatch/src/smatch_strlen.c
168
struct expression *dest_size_expr;
usr/src/tools/smatch/src/smatch_strlen.c
183
static void match_strlcpycat(const char *fn, struct expression *expr, void *unused)
usr/src/tools/smatch/src/smatch_strlen.c
185
struct expression *dest;
usr/src/tools/smatch/src/smatch_strlen.c
186
struct expression *src;
usr/src/tools/smatch/src/smatch_strlen.c
187
struct expression *limit_expr;
usr/src/tools/smatch/src/smatch_strlen.c
207
static void match_strcpy(const char *fn, struct expression *expr, void *unused)
usr/src/tools/smatch/src/smatch_strlen.c
209
struct expression *dest;
usr/src/tools/smatch/src/smatch_strlen.c
210
struct expression *src;
usr/src/tools/smatch/src/smatch_strlen.c
223
static int get_strlen_from_string(struct expression *expr, struct range_list **rl)
usr/src/tools/smatch/src/smatch_strlen.c
235
static int get_strlen_from_state(struct expression *expr, struct range_list **rl)
usr/src/tools/smatch/src/smatch_strlen.c
246
static int get_strlen_from_equiv(struct expression *expr, struct range_list **rl)
usr/src/tools/smatch/src/smatch_strlen.c
253
if (!get_implied_rl((struct expression *)state->data, rl))
usr/src/tools/smatch/src/smatch_strlen.c
261
int get_implied_strlen(struct expression *expr, struct range_list **rl)
usr/src/tools/smatch/src/smatch_strlen.c
277
int get_size_from_strlen(struct expression *expr)
usr/src/tools/smatch/src/smatch_strlen.c
309
static void match_call(struct expression *expr)
usr/src/tools/smatch/src/smatch_strlen.c
311
struct expression *arg;
usr/src/tools/smatch/src/smatch_strlen.c
325
static void struct_member_callback(struct expression *call, int param, char *printed_name, struct sm_state *sm)
usr/src/tools/smatch/src/smatch_strlen.c
51
static void set_strlen_undefined(struct sm_state *sm, struct expression *mod_expr)
usr/src/tools/smatch/src/smatch_strlen.c
56
static void set_strlen_equiv_undefined(struct sm_state *sm, struct expression *mod_expr)
usr/src/tools/smatch/src/smatch_strlen.c
61
static void match_string_assignment(struct expression *expr)
usr/src/tools/smatch/src/smatch_strlen.c
72
static void match_strlen(const char *fn, struct expression *expr, void *unused)
usr/src/tools/smatch/src/smatch_strlen.c
74
struct expression *right;
usr/src/tools/smatch/src/smatch_strlen.c
75
struct expression *str;
usr/src/tools/smatch/src/smatch_strlen.c
76
struct expression *len_expr;
usr/src/tools/smatch/src/smatch_strlen.c
95
static void match_strlen_condition(struct expression *expr)
usr/src/tools/smatch/src/smatch_strlen.c
97
struct expression *left;
usr/src/tools/smatch/src/smatch_strlen.c
98
struct expression *right;
usr/src/tools/smatch/src/smatch_strlen.c
99
struct expression *str = NULL;
usr/src/tools/smatch/src/smatch_struct_assignment.c
113
static struct expression *remove_addr(struct expression *expr)
usr/src/tools/smatch/src/smatch_struct_assignment.c
132
static struct expression *faked_expression;
usr/src/tools/smatch/src/smatch_struct_assignment.c
133
struct expression *get_faked_expression(void)
usr/src/tools/smatch/src/smatch_struct_assignment.c
140
static void split_fake_expr(struct expression *expr)
usr/src/tools/smatch/src/smatch_struct_assignment.c
149
static void handle_non_struct_assignments(struct expression *left, struct expression *right)
usr/src/tools/smatch/src/smatch_struct_assignment.c
152
struct expression *assign;
usr/src/tools/smatch/src/smatch_struct_assignment.c
180
static void set_inner_struct_members(int mode, struct expression *faked, struct expression *left, struct expression *right, struct symbol *member)
usr/src/tools/smatch/src/smatch_struct_assignment.c
182
struct expression *left_member;
usr/src/tools/smatch/src/smatch_struct_assignment.c
183
struct expression *right_member = NULL; /* silence GCC */
usr/src/tools/smatch/src/smatch_struct_assignment.c
184
struct expression *assign;
usr/src/tools/smatch/src/smatch_struct_assignment.c
230
static void __struct_members_copy(int mode, struct expression *faked,
usr/src/tools/smatch/src/smatch_struct_assignment.c
231
struct expression *left,
usr/src/tools/smatch/src/smatch_struct_assignment.c
232
struct expression *right)
usr/src/tools/smatch/src/smatch_struct_assignment.c
235
struct expression *left_member;
usr/src/tools/smatch/src/smatch_struct_assignment.c
236
struct expression *right_member;
usr/src/tools/smatch/src/smatch_struct_assignment.c
237
struct expression *assign;
usr/src/tools/smatch/src/smatch_struct_assignment.c
310
static int returns_zeroed_mem(struct expression *expr)
usr/src/tools/smatch/src/smatch_struct_assignment.c
326
static int copy_containter_states(struct expression *left, struct expression *right, int offset)
usr/src/tools/smatch/src/smatch_struct_assignment.c
365
static int handle_param_offsets(struct expression *expr)
usr/src/tools/smatch/src/smatch_struct_assignment.c
367
struct expression *right;
usr/src/tools/smatch/src/smatch_struct_assignment.c
384
static void returns_container_of(struct expression *expr, int param, char *key, char *value)
usr/src/tools/smatch/src/smatch_struct_assignment.c
386
struct expression *call, *arg;
usr/src/tools/smatch/src/smatch_struct_assignment.c
406
void __fake_struct_member_assignments(struct expression *expr)
usr/src/tools/smatch/src/smatch_struct_assignment.c
431
static void match_memset(const char *fn, struct expression *expr, void *_size_arg)
usr/src/tools/smatch/src/smatch_struct_assignment.c
433
struct expression *buf;
usr/src/tools/smatch/src/smatch_struct_assignment.c
434
struct expression *val;
usr/src/tools/smatch/src/smatch_struct_assignment.c
443
static void match_memcpy(const char *fn, struct expression *expr, void *_arg)
usr/src/tools/smatch/src/smatch_struct_assignment.c
445
struct expression *dest;
usr/src/tools/smatch/src/smatch_struct_assignment.c
446
struct expression *src;
usr/src/tools/smatch/src/smatch_struct_assignment.c
454
static void match_memdup(const char *fn, struct expression *call_expr,
usr/src/tools/smatch/src/smatch_struct_assignment.c
455
struct expression *expr, void *_unused)
usr/src/tools/smatch/src/smatch_struct_assignment.c
457
struct expression *left, *right, *arg;
usr/src/tools/smatch/src/smatch_struct_assignment.c
471
static void match_memcpy_unknown(const char *fn, struct expression *expr, void *_arg)
usr/src/tools/smatch/src/smatch_struct_assignment.c
473
struct expression *dest;
usr/src/tools/smatch/src/smatch_struct_assignment.c
479
static void match_sscanf(const char *fn, struct expression *expr, void *unused)
usr/src/tools/smatch/src/smatch_struct_assignment.c
481
struct expression *arg;
usr/src/tools/smatch/src/smatch_struct_assignment.c
492
static void unop_expr(struct expression *expr)
usr/src/tools/smatch/src/smatch_struct_assignment.c
537
static void db_param_cleared(struct expression *expr, int param, char *key, char *value)
usr/src/tools/smatch/src/smatch_struct_assignment.c
539
struct expression *arg;
usr/src/tools/smatch/src/smatch_struct_assignment.c
69
static struct symbol *get_struct_type(struct expression *expr)
usr/src/tools/smatch/src/smatch_struct_assignment.c
88
static struct expression *get_right_base_expr(struct symbol *left_type, struct expression *right)
usr/src/tools/smatch/src/smatch_sval.c
53
sval_t sval_blank(struct expression *expr)
usr/src/tools/smatch/src/smatch_sval.c
86
sval_t sval_from_val(struct expression *expr, long long val)
usr/src/tools/smatch/src/smatch_sval.c
97
sval_t sval_from_fval(struct expression *expr, long double fval)
usr/src/tools/smatch/src/smatch_tracker.c
44
void add_tracker_expr(struct tracker_list **list, int owner, struct expression *expr)
usr/src/tools/smatch/src/smatch_type.c
115
static struct symbol *get_type_symbol(struct expression *expr)
usr/src/tools/smatch/src/smatch_type.c
142
static struct symbol *get_symbol_from_deref(struct expression *expr)
usr/src/tools/smatch/src/smatch_type.c
164
static struct symbol *handle__builtin_choose_expr(struct expression *expr)
usr/src/tools/smatch/src/smatch_type.c
166
struct expression *const_expr, *expr1, *expr2;
usr/src/tools/smatch/src/smatch_type.c
181
static struct symbol *get_return_type(struct expression *expr)
usr/src/tools/smatch/src/smatch_type.c
206
return get_type(stmt->expression);
usr/src/tools/smatch/src/smatch_type.c
209
static struct symbol *get_select_type(struct expression *expr)
usr/src/tools/smatch/src/smatch_type.c
227
struct symbol *get_pointer_type(struct expression *expr)
usr/src/tools/smatch/src/smatch_type.c
244
static struct symbol *fake_pointer_sym(struct expression *expr)
usr/src/tools/smatch/src/smatch_type.c
258
static struct symbol *get_type_helper(struct expression *expr)
usr/src/tools/smatch/src/smatch_type.c
330
static struct symbol *get_final_type_helper(struct expression *expr)
usr/src/tools/smatch/src/smatch_type.c
350
struct symbol *get_type(struct expression *expr)
usr/src/tools/smatch/src/smatch_type.c
355
struct symbol *get_final_type(struct expression *expr)
usr/src/tools/smatch/src/smatch_type.c
391
int expr_unsigned(struct expression *expr)
usr/src/tools/smatch/src/smatch_type.c
403
int expr_signed(struct expression *expr)
usr/src/tools/smatch/src/smatch_type.c
426
int is_pointer(struct expression *expr)
usr/src/tools/smatch/src/smatch_type.c
508
int nr_bits(struct expression *expr)
usr/src/tools/smatch/src/smatch_type.c
518
int is_void_pointer(struct expression *expr)
usr/src/tools/smatch/src/smatch_type.c
531
int is_char_pointer(struct expression *expr)
usr/src/tools/smatch/src/smatch_type.c
544
int is_string(struct expression *expr)
usr/src/tools/smatch/src/smatch_type.c
564
int is_static(struct expression *expr)
usr/src/tools/smatch/src/smatch_type.c
581
bool is_local_variable(struct expression *expr)
usr/src/tools/smatch/src/smatch_type.c
62
static struct symbol *get_binop_type(struct expression *expr)
usr/src/tools/smatch/src/smatch_type.c
649
struct symbol *get_arg_type(struct expression *fn, int arg)
usr/src/tools/smatch/src/smatch_type.c
712
struct symbol *get_member_type_from_key(struct expression *expr, const char *key)
usr/src/tools/smatch/src/smatch_type.c
756
struct symbol *get_arg_type_from_key(struct expression *fn, int param, struct expression *arg, const char *key)
usr/src/tools/smatch/src/smatch_type.c
773
int is_struct(struct expression *expr)
usr/src/tools/smatch/src/smatch_type_links.c
50
static void match_assign(struct expression *expr)
usr/src/tools/smatch/src/smatch_type_val.c
187
struct expression *expr;
usr/src/tools/smatch/src/smatch_type_val.c
217
struct expression *expr;
usr/src/tools/smatch/src/smatch_type_val.c
232
static struct expression *prev_expr;
usr/src/tools/smatch/src/smatch_type_val.c
233
struct expression *expr;
usr/src/tools/smatch/src/smatch_type_val.c
265
struct expression *expr;
usr/src/tools/smatch/src/smatch_type_val.c
305
struct expression *expr;
usr/src/tools/smatch/src/smatch_type_val.c
348
struct expression *expr;
usr/src/tools/smatch/src/smatch_type_val.c
420
struct expression *expr, *right;
usr/src/tools/smatch/src/smatch_type_val.c
425
static struct expression *prev_expr;
usr/src/tools/smatch/src/smatch_type_val.c
461
static void match_assign_value(struct expression *expr)
usr/src/tools/smatch/src/smatch_type_val.c
519
static void match_assign_pointer(struct expression *expr)
usr/src/tools/smatch/src/smatch_type_val.c
521
struct expression *right;
usr/src/tools/smatch/src/smatch_type_val.c
53
static void match_inline_start(struct expression *expr)
usr/src/tools/smatch/src/smatch_type_val.c
540
static void match_global_assign(struct expression *expr)
usr/src/tools/smatch/src/smatch_type_val.c
558
static void unop_expr(struct expression *expr)
usr/src/tools/smatch/src/smatch_type_val.c
577
struct expression *expr;
usr/src/tools/smatch/src/smatch_type_val.c
59
static void match_inline_end(struct expression *expr)
usr/src/tools/smatch/src/smatch_type_val.c
591
static void db_param_add(struct expression *expr, int param, char *key, char *value)
usr/src/tools/smatch/src/smatch_type_val.c
593
struct expression *arg;
usr/src/tools/smatch/src/smatch_type_val.c
66
struct expression *expr;
usr/src/tools/smatch/src/smatch_type_val.c
72
static int get_cached(struct expression *expr, struct range_list **rl, int *ret)
usr/src/tools/smatch/src/smatch_type_val.c
91
int get_db_type_rl(struct expression *expr, struct range_list **rl)
usr/src/tools/smatch/src/smatch_unknown_value.c
43
static struct expression fake_fn_expr = {
usr/src/tools/smatch/src/smatch_unknown_value.c
48
static struct expression fake_call = {
usr/src/tools/smatch/src/smatch_unknown_value.c
62
struct expression *unknown_value_expression(struct expression *expr)
usr/src/tools/smatch/src/smatch_unknown_value.c
69
int is_fake_call(struct expression *expr)
usr/src/tools/smatch/src/smatch_untracked_param.c
105
static void mark_untracked_lost(struct expression *expr, int param, const char *key, int type)
usr/src/tools/smatch/src/smatch_untracked_param.c
131
void mark_untracked(struct expression *expr, int param, char *key, char *value)
usr/src/tools/smatch/src/smatch_untracked_param.c
136
void mark_lost(struct expression *expr, int param, char *key, char *value)
usr/src/tools/smatch/src/smatch_untracked_param.c
141
static int lost_in_va_args(struct expression *expr)
usr/src/tools/smatch/src/smatch_untracked_param.c
160
static void match_after_call(struct expression *expr)
usr/src/tools/smatch/src/smatch_untracked_param.c
162
struct expression *arg;
usr/src/tools/smatch/src/smatch_untracked_param.c
205
void mark_all_params_untracked(int return_id, char *return_ranges, struct expression *expr)
usr/src/tools/smatch/src/smatch_untracked_param.c
210
void mark_all_params_lost(int return_id, char *return_ranges, struct expression *expr)
usr/src/tools/smatch/src/smatch_untracked_param.c
215
static void print_untracked_params(int return_id, char *return_ranges, struct expression *expr)
usr/src/tools/smatch/src/smatch_untracked_param.c
246
static void match_param_assign(struct expression *expr)
usr/src/tools/smatch/src/smatch_untracked_param.c
248
struct expression *right;
usr/src/tools/smatch/src/smatch_untracked_param.c
271
struct expression *tmp, *expr;
usr/src/tools/smatch/src/smatch_untracked_param.c
287
static void match_inline_start(struct expression *expr)
usr/src/tools/smatch/src/smatch_untracked_param.c
292
static void match_inline_end(struct expression *expr)
usr/src/tools/smatch/src/smatch_untracked_param.c
44
typedef void (untracked_hook)(struct expression *call, int param);
usr/src/tools/smatch/src/smatch_untracked_param.c
51
void add_untracked_param_hook(void (func)(struct expression *call, int param))
usr/src/tools/smatch/src/smatch_untracked_param.c
58
static void call_untracked_callbacks(struct expression *expr, int param)
usr/src/tools/smatch/src/smatch_untracked_param.c
67
void add_lost_param_hook(void (func)(struct expression *call, int param))
usr/src/tools/smatch/src/smatch_untracked_param.c
74
static void call_lost_callbacks(struct expression *expr, int param)
usr/src/tools/smatch/src/smatch_untracked_param.c
83
static void assume_tracked(struct expression *call_expr, int param, char *key, char *value)
usr/src/tools/smatch/src/smatch_untracked_param.c
88
static char *get_array_from_key(struct expression *expr, int param, const char *key, struct symbol **sym)
usr/src/tools/smatch/src/smatch_untracked_param.c
90
struct expression *arg;
usr/src/tools/smatch/src/smatch_var_sym.c
127
void add_var_sym_expr(struct var_sym_list **list, struct expression *expr)
usr/src/tools/smatch/src/smatch_var_sym.c
32
struct var_sym_list *expr_to_vsl(struct expression *expr)
usr/src/tools/smatch/src/smatch_var_sym.c
34
struct expression *unop;
usr/src/tools/smatch/src/sparse-llvm.c
1201
struct expression *initializer = sym->initializer;
usr/src/tools/smatch/src/sparse-llvm.c
288
struct expression *expr;
usr/src/tools/smatch/src/sparse-llvm.c
963
struct expression *val = insn->val;
usr/src/tools/smatch/src/symbol.c
232
struct expression *array_size = sym->array_size;
usr/src/tools/smatch/src/symbol.c
290
static int count_array_initializer(struct symbol *t, struct expression *expr)
usr/src/tools/smatch/src/symbol.c
307
struct expression *entry;
usr/src/tools/smatch/src/symbol.c
318
struct expression *e = entry;
usr/src/tools/smatch/src/symbol.c
342
struct expression *e = expr;
usr/src/tools/smatch/src/symbol.c
359
static struct expression *get_symbol_initializer(struct symbol *sym)
usr/src/tools/smatch/src/symbol.c
373
struct expression *size = alloc_const_expression(node->pos, count);
usr/src/tools/smatch/src/symbol.c
408
struct expression *initializer = get_symbol_initializer(sym);
usr/src/tools/smatch/src/symbol.h
118
int (*evaluate)(struct expression *);
usr/src/tools/smatch/src/symbol.h
119
int (*expand)(struct expression *, int);
usr/src/tools/smatch/src/symbol.h
120
int (*args)(struct expression *);
usr/src/tools/smatch/src/symbol.h
182
struct expression *array_size;
usr/src/tools/smatch/src/symbol.h
189
struct expression *initializer;
usr/src/tools/smatch/src/symbol.h
92
struct expression *context;
usr/src/ucbcmd/expr/expr.y
56
expression: expr NOARG {