blob: 2a55f2a91cb78d588bcd65d35bcfc470f73f986a [file] [log] [blame]
/*
* 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);
}
/*
* check-name: "char []" to "char *" demotion
*/