[PATCH 0/9] Some more sparse patches

STALE3746d

3 messages, 2 authors, 2016-06-15 · open the first message on its own page

[PATCH 0/9] Some more sparse patches

From: Ramsay Jones <hidden>
Date: 2016-06-15 22:51:00

Hi Junio,

My (git.git) sparse branch, which I've been feeding and updating for
over two years now, has recently started to shrink quite rapidly.
This (of course) is due to Stephen's recent commits (eg c2e86add
and 52d269da and 1e4cd68c). These patches are (most) of what
remains of my sparse branch (Some are just too ugly to send :-P ).

[Hmmm, I haven't read the list for a few days, so if Stephen has
already addressed these issues, sorry for the noise! ]

I suspect it is a little too late in this cycle for patches like
this, but I'm hoping you won't mind parking these in pu ready for
consideration early in the next cycle.

    [PATCH 1/9] Makefile: Use cgcc rather than sparse in the check target
    [PATCH 2/9] sparse: Fix an "symbol 'cmd_index_pack' not declared" warning
    [PATCH 3/9] sparse: Fix some "Using plain integer as NULL pointer" warnings
    [PATCH 4/9] sparse: Fix an "symbol 'format_subject' not declared" warning
    [PATCH 5/9] sparse: Fix an "symbol 'merge_file' not decared" warning
    [PATCH 6/9] gettext.h: Avoid using a non-standard C construct
    [PATCH 7/9] sparse: Fix errors due to missing target-specific variables
    [PATCH 8/9] sparse: Fix some "symbol not declared" warnings
    [PATCH 9/9] sparse: Fix argument number/type warnings caused by the main() macro

Note that I had originally not intended to send patch #9, but I mis-counted
the commits when running "format-patch" and didn't notice for a while ...
Also, patch #9 is the only one specific to MinGW; I have patched support for
MinGW into my local sparse (about two years ago...), but have not got around to
sending those patches back upstream ... So, you may want to drop that one.

After these patches, sparse issues no errors on Cygwin; MinGW still has about
25 warnings (but compat/nedmalloc/malloc.c.h seems to send sparse into an
infinite loop); Linux has two groups of warnings as follows:

    connect.c:226:39: warning: incorrect type in argument 2 (invalid types)
    connect.c:226:39:    expected union __CONST_SOCKADDR_ARG [usertype] __addr
    connect.c:226:39:    got struct sockaddr *ai_addr
    daemon.c:787:36: warning: incorrect type in argument 2 (invalid types)
    daemon.c:787:36:    expected union __CONST_SOCKADDR_ARG [usertype] __addr
    daemon.c:787:36:    got struct sockaddr *ai_addr
    daemon.c:918:67: warning: incorrect type in argument 2 (invalid types)
    daemon.c:918:67:    expected union __SOCKADDR_ARG [usertype] __addr
    daemon.c:918:67:    got struct sockaddr *<noident>
    imap-send.c:1119:42: warning: incorrect type in argument 2 (invalid types)
    imap-send.c:1119:42:    expected union __CONST_SOCKADDR_ARG [usertype] __addr
    imap-send.c:1119:42:    got struct sockaddr *ai_addr

These are due to sparse not (yet) supporting transparent unions (I have a patch
somewhere...), and

    notes.c:397:17: error: too long token expansion
    notes-merge.c:63:9: error: too long token expansion
    notes-merge.c:564:9: error: too long token expansion

Which is caused by overflowing an internal static buffer (again I have a patch).

ATB,
Ramsay Jones

Re: [PATCH 0/9] Some more sparse patches

From: Stephen Boyd <hidden>
Date: 2016-06-15 22:51:00

On 04/07/2011 11:16 AM, Ramsay Jones wrote:
Hi Junio,

My (git.git) sparse branch, which I've been feeding and updating for
over two years now, has recently started to shrink quite rapidly.
This (of course) is due to Stephen's recent commits (eg c2e86add
and 52d269da and 1e4cd68c). These patches are (most) of what
remains of my sparse branch (Some are just too ugly to send :-P ).
Yeah I was sitting on a few of these since I didn't have the time or
effort to sort them out. Plus I have to wade through all the warnings
that ULONG_MAX and LONG_MAX causes on my 64 bit system causing me to
miss some things. Thanks for picking it up.

I pulled these patches down and gave them a test. It looks good to me,
except I see this when I check http.c:

$ make http.sp
    SP http.c
builtin:1:9: warning: preprocessor token GIT_HTTP_USER_AGENT redefined
builtin:1:9: this was the original definition

Any ideas?

Re: [PATCH 0/9] Some more sparse patches

From: Ramsay Jones <hidden>
Date: 2016-06-15 22:51:01

Stephen Boyd wrote:
Yeah I was sitting on a few of these since I didn't have the time or
effort to sort them out. Plus I have to wade through all the warnings
that ULONG_MAX and LONG_MAX causes on my 64 bit system causing me to
miss some things. Thanks for picking it up.
I've been thinking of getting a new laptop soon; when I do, I'll have to
face this myself. Until then I'm firmly in 32-bit land, so I'm afraid
that I can't help :-(
I pulled these patches down and gave them a test. It looks good to me,
except I see this when I check http.c:

$ make http.sp
    SP http.c
builtin:1:9: warning: preprocessor token GIT_HTTP_USER_AGENT redefined
builtin:1:9: this was the original definition

Any ideas?
Hmm, sorry no. I'm not seeing this on any of my platforms. On Linux and
Cygwin sparse is silent, and on MinGW (which has NO_CURL defined BTW) I
see a few legitimate warnings, thus:

    $ make http.sp
        SP http.c
    http.c:806:25: warning: expression using sizeof on a function
    http.c:815:25: warning: expression using sizeof on a function
    http.c:1139:9: warning: expression using sizeof on a function
    http.c:1303:9: warning: expression using sizeof on a function

Again, these warnings are legit (they relate to an insane "inline"
optimization macro which uses sizeof on a function pointer).

ATB,
Ramsay Jones
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help