[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: warning: unsequenced modification and access to 'sa_avail'
From: |
Jeffrey Walton |
Subject: |
Re: warning: unsequenced modification and access to 'sa_avail' |
Date: |
Sat, 27 Mar 2021 13:10:15 -0400 |
On Sat, Mar 27, 2021 at 1:01 PM Philipp <p.stephani2@gmail.com> wrote:
>
> > Am 27.03.2021 um 17:05 schrieb Jeffrey Walton <noloader@gmail.com>:
> >
> > I'm building Emacs 27.2 on the Apple M1 machine. I think the compiler
> > is complaining about undefined behavior:
> >
> > sa_avail -= (size), alloca (size)
> >
> > I think it is equivalent to something like this:
> >
> > data[i] = data[i++];
> >
> > /usr/bin/clang -c -I/usr/local/include -DNDEBUG -Demacs -I. -I.
> > -I../lib -I../lib -I/usr/local/include/libxml2
> > -I/usr/local/include -MMD -MF deps/doc.d -MP
> > -I/usr/local/include -I/usr/local/include/p11-kit-1 -Wno-switch
> > -Wno-pointer-sign -Wno-string-plus-int -Wno-unknown-attributes
> > -Wno-initializer-overrides -Wno-tautological-compare
> > -Wno-tautological-constant-out-of-range-compare -g2 -O2 -fno-common
> > -arch arm64 -fPIC -pthread doc.c
> > /usr/bin/clang -c -I/usr/local/include -DNDEBUG -Demacs -I. -I.
> > -I../lib -I../lib -I/usr/local/include/libxml2
> > -I/usr/local/include -MMD -MF deps/editfns.d -MP
> > -I/usr/local/include -I/usr/local/include/p11-kit-1 -Wno-switch
> > -Wno-pointer-sign -Wno-string-plus-int -Wno-unknown-attributes
> > -Wno-initializer-overrides -Wno-tautological-compare
> > -Wno-tautological-constant-out-of-range-compare -g2 -O2 -fno-common
> > -arch arm64 -fPIC -pthread editfns.c
> > editfns.c:2063:18: warning: unsequenced modification and access to
> > 'sa_avail'
> > [-Wunsequenced]
> > .deletions = SAFE_ALLOCA (del_bytes),
> > ^
> > ./lisp.h:4817:9: note: expanded from macro 'SAFE_ALLOCA'
> > ? AVAIL_ALLOCA (size) \
> > ^
> > ./lisp.h:4812:38: note: expanded from macro 'AVAIL_ALLOCA'
> > #define AVAIL_ALLOCA(size) (sa_avail -= (size), alloca (size))
> > ^
> >
>
> This has already been fixed by commit
> 6a4ed891d84b1ca1e4d68a6de9dd374f1fadd971, which hasn't made it into the
> release though.
Thanks Philipp.
Forgive my ignorance... Where is that commit? I can't seem to find it
at https://git.savannah.gnu.org/cgit/emacs.git/log/?h=emacs-27.
Searching the logs for your name, and searching for
6a4ed891d84b1ca1e4d68a6de9dd374f1fadd971 (and 6a4ed891d84b) returns 0
hits.
Jeff