git@vger.kernel.org list mirror (unofficial, one of many)
 help / color / Atom feed
* [PATCH v2] sparse: allow '{ 0 }' to be used without warnings
@ 2020-05-22  0:25 Luc Van Oostenryck
  2020-05-24 16:17 ` Junio C Hamano
  0 siblings, 1 reply; 4+ messages in thread
From: Luc Van Oostenryck @ 2020-05-22  0:25 UTC (permalink / raw)
  To: GIT Mailing-list
  Cc: Junio C Hamano, Ramsay Jones,
	Đoàn Trần Công Danh, Eric Sunshine,
	Luc Van Oostenryck

In standard C, '{ 0 }' can be used as an universal zero-initializer.
However, Sparse complains if this is used on a type where the first
member (possibly nested) is a pointer since Sparse purposely wants
to warn when '0' is used to initialize a pointer type.

Legitimaly, it's desirable to be able to use '{ 0 }' as an idiom
without these warnings [1,2]. To allow this, an option have now
been added to Sparse:
    537e3e2dae univ-init: conditionally accept { 0 } without warnings

So, add this option to the SPARSE_FLAGS variable.

Note: The option have just been added to Sparse. So, to benefit
      now from this patch it's needed to use the latest Sparse
      source from kernel.org. The option will simply be ignored
      by older versions of Sparse.

[1] https://lore.kernel.org/r/e6796c60-a870-e761-3b07-b680f934c537@ramsayjones.plus.com
[2] https://lore.kernel.org/r/xmqqd07xem9l.fsf@gitster.c.googlers.com

Signed-off-by: Luc Van Oostenryck <luc.vanoostenryck@gmail.com>
---

Change since v1:
* adapt the commit message to:
  - fix a typo
  - give a reference to the Spatch patch
  - add a note telling the latest Sparse source is needed to
    benefit from the patch but older versions won't complain.

 Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Makefile b/Makefile
index 3d3a39fc19..69f065ef8c 100644
--- a/Makefile
+++ b/Makefile
@@ -1189,7 +1189,7 @@ PTHREAD_CFLAGS =
 
 # For the 'sparse' target
 SPARSE_FLAGS ?=
-SP_EXTRA_FLAGS =
+SP_EXTRA_FLAGS = -Wno-universal-initializer
 
 # For the 'coccicheck' target; setting SPATCH_BATCH_SIZE higher will
 # usually result in less CPU usage at the cost of higher peak memory.
-- 
2.26.2


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH v2] sparse: allow '{ 0 }' to be used without warnings
  2020-05-22  0:25 [PATCH v2] sparse: allow '{ 0 }' to be used without warnings Luc Van Oostenryck
@ 2020-05-24 16:17 ` Junio C Hamano
  2020-05-30 16:24   ` Luc Van Oostenryck
  0 siblings, 1 reply; 4+ messages in thread
From: Junio C Hamano @ 2020-05-24 16:17 UTC (permalink / raw)
  To: Luc Van Oostenryck
  Cc: GIT Mailing-list, Ramsay Jones,
	Đoàn Trần Công Danh, Eric Sunshine

Luc Van Oostenryck <luc.vanoostenryck@gmail.com> writes:

> Note: The option have just been added to Sparse. So, to benefit
>       now from this patch it's needed to use the latest Sparse
>       source from kernel.org. The option will simply be ignored
>       by older versions of Sparse.

The last sentence in this paragraph is very very much appreciated
;-)

>
> [1] https://lore.kernel.org/r/e6796c60-a870-e761-3b07-b680f934c537@ramsayjones.plus.com
> [2] https://lore.kernel.org/r/xmqqd07xem9l.fsf@gitster.c.googlers.com
>
> Signed-off-by: Luc Van Oostenryck <luc.vanoostenryck@gmail.com>
> ---
>
> Change since v1:
> * adapt the commit message to:
>   - fix a typo
>   - give a reference to the Spatch patch
>   - add a note telling the latest Sparse source is needed to
>     benefit from the patch but older versions won't complain.
>
>  Makefile | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/Makefile b/Makefile
> index 3d3a39fc19..69f065ef8c 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -1189,7 +1189,7 @@ PTHREAD_CFLAGS =
>  
>  # For the 'sparse' target
>  SPARSE_FLAGS ?=
> -SP_EXTRA_FLAGS =
> +SP_EXTRA_FLAGS = -Wno-universal-initializer
>  
>  # For the 'coccicheck' target; setting SPATCH_BATCH_SIZE higher will
>  # usually result in less CPU usage at the cost of higher peak memory.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH v2] sparse: allow '{ 0 }' to be used without warnings
  2020-05-24 16:17 ` Junio C Hamano
@ 2020-05-30 16:24   ` Luc Van Oostenryck
  2020-05-31 16:48     ` Junio C Hamano
  0 siblings, 1 reply; 4+ messages in thread
From: Luc Van Oostenryck @ 2020-05-30 16:24 UTC (permalink / raw)
  To: Junio C Hamano
  Cc: GIT Mailing-list, Ramsay Jones,
	Đoàn Trần Công Danh, Eric Sunshine

Hi Junio,

I've now changed Sparse's default to not warn when using '{ 0 }'.
This flag is thus now unneeded for Git and can be dropped
(but it won't hurt to keep it).

-- Luc

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH v2] sparse: allow '{ 0 }' to be used without warnings
  2020-05-30 16:24   ` Luc Van Oostenryck
@ 2020-05-31 16:48     ` Junio C Hamano
  0 siblings, 0 replies; 4+ messages in thread
From: Junio C Hamano @ 2020-05-31 16:48 UTC (permalink / raw)
  To: Luc Van Oostenryck
  Cc: GIT Mailing-list, Ramsay Jones,
	Đoàn Trần Công Danh, Eric Sunshine

Luc Van Oostenryck <luc.vanoostenryck@gmail.com> writes:

> I've now changed Sparse's default to not warn when using '{ 0 }'.
> This flag is thus now unneeded for Git and can be dropped
> (but it won't hurt to keep it).

Nice.  Thanks.

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, back to index

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-22  0:25 [PATCH v2] sparse: allow '{ 0 }' to be used without warnings Luc Van Oostenryck
2020-05-24 16:17 ` Junio C Hamano
2020-05-30 16:24   ` Luc Van Oostenryck
2020-05-31 16:48     ` Junio C Hamano

git@vger.kernel.org list mirror (unofficial, one of many)

Archives are clonable:
	git clone --mirror https://public-inbox.org/git
	git clone --mirror http://ou63pmih66umazou.onion/git
	git clone --mirror http://czquwvybam4bgbro.onion/git
	git clone --mirror http://hjrcffqmbrq6wope.onion/git

Example config snippet for mirrors

Newsgroups are available over NNTP:
	nntp://news.public-inbox.org/inbox.comp.version-control.git
	nntp://ou63pmih66umazou.onion/inbox.comp.version-control.git
	nntp://czquwvybam4bgbro.onion/inbox.comp.version-control.git
	nntp://hjrcffqmbrq6wope.onion/inbox.comp.version-control.git
	nntp://news.gmane.io/gmane.comp.version-control.git

 note: .onion URLs require Tor: https://www.torproject.org/

AGPL code for this site: git clone https://public-inbox.org/public-inbox.git