Hi everybody,
I removed the *-Werror* from the default compile flags for GNU APL, so
that more builds
should succeed out of the box. *SVN 1306*. You can still re-enable
*-Werror* via *./configure*
(or by *make develop*).
I would kindly ask users with platforms other than GNU/Linux to
enable*-Werror* from time
to time as to find (and report) warnings (other than the notorious
-Wmaybe-uninitialized,
please) on their platform. In the meantime I will do the same for
GNU/Linux with gcc.
BestRegards,
Jürgen
On 7/8/20 7:21 PM, Blake McBride wrote:
Trying to make GNU APL compile with zero warnings in all conditions is
a never-ending task. I recommend making an effort to minimize the
number of warnings but don't set it up to not allow any. It's not
worth the effort.
Blake
On Wed, Jul 8, 2020 at 12:15 PM Callahan, Brian Robert
<call...@rpi.edu <mailto:call...@rpi.edu>> wrote:
-Wmaybe-uninitialized came about in gcc-4.7.
~Brian
------------------------------------------------------------------------
Brian Robert Callahan, Ph.D.
Lecturer, ITWS@RPI
Office: Amos Eaton 132
------------------------------------------------------------------------
*From:* Bug-apl [bug-apl-bounces+callab5=rpi....@gnu.org
<mailto:rpi....@gnu.org>] on behalf of Louis Chrétien via Bugs and
suggestions for GNU APL [bug-apl@gnu.org <mailto:bug-apl@gnu.org>]
*Sent:* Wednesday, July 08, 2020 1:04 PM
*To:* bug-apl
*Subject:* Re: Probably minor bug
As well you should… 😉
The latest SVN (1304) does not compile anymore on Mac OS 10.4:
g++ -DHAVE_CONFIG_H -I. -I.. -Wall -I sql -Werror -g -O2
-MT apl-main.o -MD -MP -MF .deps/apl-main.Tpo -c -o apl-main.o
`test -f 'main.cc <http://main.cc>' || echo './'`main.cc
<http://main.cc>
In file included from main.cc:34 <http://main.cc:34>:
In file included from ./Command.hh:28:
In file included from ./Value.hh:24:
In file included from ./CharCell.hh:24:
In file included from ./Cell.hh:30:
In file included from ./PrintBuffer.hh:30:
./Shape.hh:75:32: error: unknown warning group
'-Wmaybe-uninitialized', ignored [-Werror,-Wunknown-warning-option]
#pragma GCC diagnostic ignored "-Wmaybe-uninitialized"
^
1 error generated.
make[3]: *** [apl-main.o] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
On Jul 1, 2020, at 22:25, Chris Moller <mol...@mollerware.com
<mailto:mol...@mollerware.com>> wrote:
Hi Chris,
thanks for looking into this. I have added your #pragma in *SVN
1303.*
I am not particular fond of #pragmas for a number of reasons, but
since other
contributors to GNU APL have used them already earlier I suppose
this one
should do no harm.
Best Regards,
Jürgen
On 7/2/20 4:25 AM, Chris Moller wrote:
Hi, Jürgen,
CXXFLAGS=-Werror=maybe-uninitialized
Way down deep in the gcc code, in tree-ssa-uninit.c, there's a
statement:
warn_uninitialized_vars (/*warn_possibly_uninitialized=*/1);
elsewhere in the same file is:
warn_uninitialized_vars
(/*warn_possibly_uninitialized=*/!optimize);
The former is what's causing the killer warnings. I don't have
any idea why that one unconditionally looks for
uninitialisations while the latter conditions on the
optimisation level, but I expect it would be pointless trying to
get the gcc people to do anything about it. Fortunately, a more
specific version of your README-11-bogus-compiler-warnings
suggestion of
CXXFLAGS=-Werror=maybe-uninitialized
might be what you need: make your Shape.hh pragma
#pragma GCC diagnostic ignored "-Wmaybe-uninitialized"
instead of
#pragma GCC diagnostic ignored "-Wuninitialized"
Maybe not ideal, but maybe better than nothing.
On 27/06/2020 12:16, Dr. Jürgen Sauermann wrote:
Hi Chris,
this warning is haunting us for quite a while now.
I have written a *README-11-bogus-compiler-warnings* with
work-arounds.
Unfortunately the loop below is not entirely bogus (what
happens is that for some r
the uninitialized value *other.rho[r] *is being copied to the
never-used value *rho[r]*).
Unfortunately the obvious fix for the warning has shown to
cause significant perfomance
impacts because it prevents loop unrolling (and there was a
separate trouble report
concerning that performance drop on bug-apl).
At that time I filed a gcc trouble report:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94905
asking to fix this, but I am afraid that this may take some time.
My bug report was merged into a meta-bug which is open since 2005:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=24639
Best Regards,
Jürgen
On 6/27/20 5:01 PM, Chris Moller wrote:
Shape.hh: In member function 'Shape Shape::insert_axis(Axis,
ShapeItem) const':
Shape.hh:69:46: error: ''target_mem_ref' not supported by
dump_expr<expression error>' may be used uninitialized in this
function [-Werror=maybe-uninitialized]
69 | loop(r, MAX_RANK) rho[r] = other.rho[r];
| ~~~~~~~~~~~^
Just to finish the build, I patched around the bug by editing
out the Wall and the Werror in the Makefile, so:
[moller@hpbox]~tinkering/gnuapl/trunk% apl -v 10:47:53
BUILDTAG:
---------
Project: GNU APL
Version / SVN: 1.8 / 1210
Build Date: 2019-12-19 17:09:01 UTC
Build OS: Linux 4.19.3-200.fc28.x86_64 x86_64
config.status:
'PKG_CONFIG_PATH=/usr/local/lib64/pkgconfig:/usr/local/lib/pkgconfig:/usr/lib64/pkgconfig:/usr/lib/pkgconfig'
Archive SVN: 1161
[moller@hpbox]~tinkering/gnuapl/trunk% gcc --version 10:49:35
gcc (GCC) 10.1.1 20200507 (Red Hat 10.1.1-1)
[moller@hpbox]~tinkering/gnuapl/trunk% cat /etc/redhat-release
10:51:45
Fedora release 32 (Thirty Two)
[moller@hpbox]~tinkering/gnuapl/trunk% uname -a 10:52:29
Linux hpbox 5.6.19-300.fc32.x86_64 #1 SMP Wed Jun 17 16:10:48
UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
---
Louis Chrétien
lchret...@mac.com <mailto:lchret...@mac.com>