Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: -Wrestrict warning on cc 8.3.0



On Thu, 2019-04-04 at 11:21 +0100, Peter Stephenson wrote:
> On Wed, 2019-04-03 at 20:59 +0200, Wesley Schwengle wrote:
> > 
> > During a make of the latest master I got the following warning:
> >  
> > gcc -c -I. -I../../Src -I../../Src -I../../Src/Zle -I.  -DHAVE_CONFIG_H
> > -DMODULE -Wall -Wmissing-prototypes -O2 -fPIC -o compctl..o compctl.c
> > compctl.c: In function ‘makecomplistflags.isra.6’:
> > compctl.c:3340:7: warning: ‘strcpy’ accessing 1 byte at offsets [0,
> > 9223372036854775807] and [0,9223372036854775807] may overlap 1 byte at
> > offset 0 [-Wrestrict]
> > strcpy(p, p + bl);
> > ^~~~~~~~~~~~~~~~~
> > rm -f compctl.so
> This warning is thoroughly opaque --- and not occurring with a locally
> compiled gcc 8.3.0 on my Ubuntu 16.04 64-bit Intel system --- but the
> code isn't exactly crystal clear, either (subtracting a number off then
> adding it immediately back on again isn't generally regarded as great
> style), and it's quite possible the copy is overlapping.  Also, the last
> person to worry about code optimisation in compctl emigrated to the
> Undying Lands a decade ago (maybe I can still find the postcard...)
> 
> Can somebody verify the following is equivalent apart from dealing with
> a possible overlapping copy?  I've no way of ensuring this code gets
> exercised. 

I've applied this anyway.

pws



Messages sorted by: Reverse Date, Date, Thread, Author