John Bowler 050ce505e4 pngfix: del workround for GCC7.1 -Wstrict-overflow
Previously pngfix had been made warning-free in GCC7.1 by marking auto
variables (volatile).  This prevented the arithmetic optimizations which
caused warnings from GCC7.1 with higher values -Wstrict-overflow=<n>

GCC has moved on a lot since 7.1 and pngfix.c now compiles with just one
warning using -Wstrict-overflow=5.  The change includes a change to make
this go away by performing the rearrangement GCC was using in the code:

   i == ndigits-1

becomes:

   i+1 == ndigits

i is initialized to ndigits and has been decremented at least once so
this is fine.

Test, configure:

  CFLAGS="-Wall -Wextra -Wno-maybe-uninitialized -Wstrict-overflow=5" \
    ../configure --enable-werror
  make
  make cehck

Test, cmake:

  cmake ..
  make
  make test

Signed-off-by: John Bowler <jbowler@acm.org>
2024-01-15 09:50:24 -08:00
..
2023-12-27 12:53:48 +02:00

This directory (contrib/tools) contains tools used by the authors of libpng.

Code and data placed in this directory is not required to build libpng,
however the code in this directory has been used to generate data or code in
the body of the libpng source.  The source code identifies where this has
been done.  Code in this directory may not compile on all operating systems
that libpng supports.

NO COPYRIGHT RIGHTS ARE CLAIMED TO ANY OF THE FILES IN THIS DIRECTORY.

To the extent possible under law, the authors have waived all copyright and
related or neighboring rights to this work.  This work is published from:
United States.

The files may be used freely in any way.

The source code and comments in this directory are the original work of the
people named below.  No other person or organization has made contributions to
the work in this directory.

ORIGINAL AUTHORS
    The following people have contributed to the code in this directory.  None
    of the people below claim any rights with regard to the contents of this
    directory.

    John Bowler <jbowler at acm.org>
    Glenn Randers-Pehrson <glennrp at users.sourceforge.net>