Re: [PATCH 0/2] fix bogus "crazy progammer"

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

 



On Fri, Jun 16, 2017 at 09:10:57PM +0100, Ramsay Jones wrote:
> 
> 
> On 16/06/17 20:18, Luc Van Oostenryck wrote:
> > The goal of this series is to fix the bogus "crazy progammer"
> > warnings issued by sparse when running on the git tree.
> > 
> > This "crazy programmer" warning is issued when there is
> > a circulary dependency between pseudos but in the present
> > case this circulary dependence was only an consequence of
> > optimizations applied on a wrong state.
> 
> Thank you for posting this (I had just started looking at this
> again tonight). I have just fetched it and done a very quick test
> and this works for me! Thanks!
> 
> [You probably noticed that I counted "grep 'inline.*skip_prefix' |
> wc -l", thereby counting the number of inlined calls twice! once for
> 'begin_inline' and once for 'end_inline'! Ahem ;-)]

Hehe, I confess that once I saw 'crazy programmer', I directly went
to try to reproduce it (which was simple given you bug report)
because I had already struggled on it some time ago. And then I
tried to reduce it (which took me some time!) before trying to
understand what was happening.

> > With this bug fixed, there is only a single sparse warnings 
> > left in the git tree (and it's most probably a bogus one).
> 
> Hmm, which one is that? (I'm not counting the 'memset byte count'
> warning!) The only other warnings I am aware of are on the 'pu'
> branch (expected), or if you build with the NO_REGEX build variable
> set. (which I don't on Linux, but I do on cygwin).

I think I had left with the default options and it was the master
branch. And, indeed I don't count the 'memset byte count' anymore.
I meant the same as you here:

> This is another long-standing error that I have been meaning to
> fix at some point (but it has been on my TODO list for many a
> year, so ...). It looks like so:
> 
>     SP compat/regex/regex.c
> compat/regex/regex_internal.c:926:1: error: symbol 're_string_context_at' redeclared with different type (originally declared at compat/regex/regex_internal.h:434) - different modifiers
> 
> (ie the 'pure' attribute is in a different place in the declaration
> and definition of the function).

Ah yes, indeed. The syntax for attributes is a bit ... well ...
and dependening on the place the attribute will be 'attached'
either to the function itself or to the return type (or something
close to this).

> I will do some more testing later (cygwin, 32bit linux etc.) and let
> you know if I find anything else.

Yes, please. It's very much appreciated.

-- Luc Van Oostenryck
--
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