atomic_inc_dec: improve how inc/dec is recorded in the DB
[smatch.git] / validation / sm_mtag2.c
blob60b7913c689eedff6df9f604391ad7f4a29c5569
1 #include <stdio.h>
2 #include "check_debug.h"
4 struct foo {
5 int a, b, c;
6 int (*func)(int *p);
7 void (*func2)(int a);
8 void *data;
9 };
11 static int frob1(int *val)
13 __smatch_implied(*val);
14 return *val + 1;
17 static int frob2(int *val)
19 __smatch_implied(*val);
20 return *val + 1;
23 static struct foo one_struct = {
24 .a = 1,
25 .func = frob1,
28 static struct foo two_struct = {
29 .a = 2,
30 .func = frob2,
33 struct foo *unknown(void);
34 struct foo *p;
36 int main(void)
38 int ret;
40 p = unknown();
41 ret = p->func(&p->a);
43 return 0;
47 * check-name: smatch mtag #2
48 * check-command: validation/smatch_db_test.sh -I.. sm_mtag2.c
50 * check-output-start
51 sm_mtag2.c:13 frob1() implied: *val = '1'
52 sm_mtag2.c:19 frob2() implied: *val = '2'
53 * check-output-end