[Top][All Lists]

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

Re: [bug #60798] Make does not compile with GCC 11.1.0

From: Dmitrii Pasechnik
Subject: Re: [bug #60798] Make does not compile with GCC 11.1.0
Date: Sat, 19 Jun 2021 16:23:59 +0100

On Sat, Jun 19, 2021 at 10:52:41AM -0400, Paul Smith wrote:
> On Sat, 2021-06-19 at 15:31 +0100, Dmitrii Pasechnik wrote:
> > On Fri, Jun 18, 2021 at 12:53:32PM -0400, Paul D. Smith wrote:
> > 
> > > Follow-up Comment #1, bug #60798 (project make):
> > > FWIW, this warning is not valid in this situation.  The code is
> > > correct; p will always be pointing into a valid buffer and never
> > > pointing at the first character in that buffer, so p[-1] always
> > > points to valid memory.
> > 
> > It's undefined behaviour in C to point to such a location, isn't it?
> To point to which such location?  As I said, we know for a fact that p
> does not point at the first character of the array.  It's clearly legal
> in C to walk backwards through an array!!  And referencing the previous
> element in an array is certainly not a hack.
> I don't think I understand.
p[] occupies a continuous memory area, starting from p[0],
but p[-1] is not guaranteed by the standard to be accessible for you
(well, unless you control the memory layout by placing p in a struct,
not as the 1st member, but then why would you need p[-1] in the 1st

What's unclear about it?

reply via email to

[Prev in Thread] Current Thread [Next in Thread]