aboutsummaryrefslogtreecommitdiff
blob: 4f08f88a98cb02ead7117e8d8c37ba8568ad84ae (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
/*
 * Sparse used to get this wrong.
 *
 * When evaluating the argument to the inline function for the array, Sparse
 * didn't properly demote the "char []" to a "char *", but instead it would
 * follow the dereference and get a "struct hello".
 *
 * Which made no sense at all.
 */

static inline int deref(const char *s)
{
	return *s;
}

struct hello {
	char array[10];
};

static int test(struct hello *arg)
{
	return deref(arg->array);
}