zsh-workers
 help / color / mirror / code / Atom feed
* PATCH: fix occasional warning
@ 2011-06-06  9:03 Peter Stephenson
  2011-06-06 11:32 ` Vincent Lefevre
  0 siblings, 1 reply; 3+ messages in thread
From: Peter Stephenson @ 2011-06-06  9:03 UTC (permalink / raw)
  To: zsh-workers

The code here is actually safe, but some (now old) versions of gcc
produce a warning anyway.  Better to rely on more recent versions
optimising out the unused value.

Index: Src/subst.c
===================================================================
RCS file: /cvsroot/zsh/zsh/Src/subst.c,v
retrieving revision 1.125
diff -u -r1.125 subst.c
--- Src/subst.c	3 Jun 2011 22:03:44 -0000	1.125
+++ Src/subst.c	6 Jun 2011 09:01:59 -0000
@@ -2848,7 +2848,7 @@
  	    char *check_offset = check_colon_subscript(s, &check_offset2);
  	    if (check_offset) {
  		zlong offset = mathevali(check_offset);
-		zlong length;
+		zlong length = 0;
  		int length_set = 0;
  		int offset_hack_argzero = 0;
  		if (errflag)

pws


Member of the CSR plc group of companies. CSR plc registered in England and Wales, registered number 4187346, registered office Churchill House, Cambridge Business Park, Cowley Road, Cambridge, CB4 0WZ, United Kingdom
More information can be found at www.csr.com. Follow CSR on Twitter at http://twitter.com/CSR_PLC and read our blog at www.csr.com/blog


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

* Re: PATCH: fix occasional warning
  2011-06-06  9:03 PATCH: fix occasional warning Peter Stephenson
@ 2011-06-06 11:32 ` Vincent Lefevre
  2011-06-06 11:46   ` Peter Stephenson
  0 siblings, 1 reply; 3+ messages in thread
From: Vincent Lefevre @ 2011-06-06 11:32 UTC (permalink / raw)
  To: zsh-workers

On 2011-06-06 10:03:58 +0100, Peter Stephenson wrote:
> The code here is actually safe, but some (now old) versions of gcc
> produce a warning anyway.  Better to rely on more recent versions
> optimising out the unused value.

But recent or future GCC versions may warn against values set but
unused.

-- 
Vincent Lefèvre <vincent@vinc17.net> - Web: <http://www.vinc17.net/>
100% accessible validated (X)HTML - Blog: <http://www.vinc17.net/blog/>
Work: CR INRIA - computer arithmetic / Arénaire project (LIP, ENS-Lyon)


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

* Re: PATCH: fix occasional warning
  2011-06-06 11:32 ` Vincent Lefevre
@ 2011-06-06 11:46   ` Peter Stephenson
  0 siblings, 0 replies; 3+ messages in thread
From: Peter Stephenson @ 2011-06-06 11:46 UTC (permalink / raw)
  To: zsh-workers

On Mon, 06 Jun 2011 12:32:55 +0100, Vincent Lefevre <vincent@vinc17.net>  
wrote:
> On 2011-06-06 10:03:58 +0100, Peter Stephenson wrote:
>> The code here is actually safe, but some (now old) versions of gcc
>> produce a warning anyway.  Better to rely on more recent versions
>> optimising out the unused value.
>
> But recent or future GCC versions may warn against values set but
> unused.

The code is of this form:

   uint16 value = 0; /* this is strictly unnecessary */
   uint16 value_set = 0;

   if (some_test)
   {
      value = some_value;
      value_set = 1;
   }
   /* ... */
   if (value_set)
   {
      do_something_with(value):
   }

If compilers start warning about unused initialisation to
value in a case like this, I for one will get very cross.
It is having no other effect than making it hard for you
to write safe, portable code.

pws


Member of the CSR plc group of companies. CSR plc registered in England and Wales, registered number 4187346, registered office Churchill House, Cambridge Business Park, Cowley Road, Cambridge, CB4 0WZ, United Kingdom
More information can be found at www.csr.com. Follow CSR on Twitter at http://twitter.com/CSR_PLC and read our blog at www.csr.com/blog


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

end of thread, other threads:[~2011-06-06 11:47 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-06-06  9:03 PATCH: fix occasional warning Peter Stephenson
2011-06-06 11:32 ` Vincent Lefevre
2011-06-06 11:46   ` Peter Stephenson

Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/zsh/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).