/* * 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); }