On 08/01/2015 02:45 PM, Christopher Li wrote:
On Sat, Aug 1, 2015 at 4:09 AM, Tony Camuso <tcamuso@xxxxxxxxxx> wrote:
I've since submitted a runtime patch (3/3 V3) with a switch as a
response to this patch, but it basically does the same thing here.
Consider the case where the source contains something like this...
struct foo {
union {
int number;
int *pointer;
};
};
There being no ident for the union within the struct, we get the warning,
"missing identifier in declaration" etc.
I can't reproduce the warning with the chrisl repo master branch.
That being said, if there is indeed a bug in sparse, it should be a
separate patch. It changes the parsing behavior.
Thanks
Chris
Here's one that might be a sparse bug.
/work/linux/fs/bio.i:5368:26: error: Expected ) at end of cast operator
/work/linux/fs/bio.i:5368:26: error: got __int128
Here is the kernel source in include/linux/math64.h that causes the error.
static inline __attribute__((no_instrument_function)) u64 mul_u64_u32_shr(u64 a, u32 mul, unsigned int shift)
{
return (u64)(((unsigned __int128)a * mul) >> shift);
}
--
To unsubscribe from this list: send the line "unsubscribe linux-sparse" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html