Re: Bogus 'Initializer entry defined twice' warnings

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Aug 29, 2014 at 4:10 PM, Hans Verkuil <hverkuil@xxxxxxxxx> wrote:
> The following test source (based on drivers/media/pci/cx88/cx88-cards.c from
> the kernel) gives these sparse warnings:
>
> cards4.c:447:36: warning: Initializer entry defined twice
> cards4.c:449:19:   also defined here
>
> I am using the latest sparse code from
> git://git.kernel.org/pub/scm/devel/sparse/chrisl/sparse.git.

Thanks for the bug report. It has been puzzling for me as well.
It seems there is some duplicate entry in the expression list
for the very long initializer. The duplicate entry first show up after
the expand_symbol phase. The bug will disappear if the list is
sorter.

I have narrow it down to the sort_list() function.
If we turn on " #define PARANOIA" in sort.c.
Sparse can trigger assert fail:

sparse: sort.c:89: verify_seq_sorted: Assertion `cmp (a, b) <= 0' failed.
Aborted (core dumped)

Still need more work to fix it.

Chris
--
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




[Index of Archives]     [Newbies FAQ]     [LKML]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Trinity Fuzzer Tool]

  Powered by Linux