Hi Fred,
thanks, that explains it.
Fixed in SVN 1052.
Best regards,
/// Jürgen Sauermann
On 05/24/2018 09:18 PM, Fred Weigel
wrote:
Juergen
Thanks! All worked, except (as you suspected) Svar_record. Here is the
error message from GCC 8.1.1:
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -Wall -I sql -Wold-
style-cast -Werror -I/usr/include -I/usr/include -rdynamic -O3 -MT
libapl_la-Archive.lo -MD -MP -MF .deps/libapl_la-Archive.Tpo -c
Archive.cc -fPIC -DPIC -o .libs/libapl_la-Archive.o
In file included from Svar_DB.hh:32,
from Symbol.hh:30,
from SystemVariable.hh:26,
from Quad_RL.hh:24,
from Workspace.hh:32,
from Archive.hh:28,
from Archive.cc:29:
Svar_record.hh: In member function 'void Svar_record::clear()':
Svar_record.hh:183:56: error: 'void* memset(void*, int, size_t)'
clearing an object of non-trivial type 'struct Svar_record'; use
assignment or value-initialization instead [-Werror=class-memaccess]
void clear() { memset(this, 0, sizeof(Svar_record)); }
^
Svar_record.hh:174:8: note: 'struct Svar_record' declared here
struct Svar_record
^~~~~~~~~~~
cc1plus: all warnings being treated as errors
make[3]: *** [Makefile:1176: libapl_la-Archive.lo] Error 1
Fred Weigel
On Thu, 2018-05-24 at 13:53 +0200, Juergen Sauermann wrote:
Hi Fred,
thanks, hopefully fixed in SVN 1051.
The -Wclass-memaccess warning is not documented in the gcc 8,1
manual, therefore
the warnings in Svar_record.cc and/or Svar_record.hh may have
survived my attempt
to fix them. If so, then please send me the complete warning output
(containing the
source line number) so that I can give it another try.
Best regards,
/// Jürgen
On 05/23/2018 09:45 PM, Fred Weigel wrote:
I just updated to Fedora 28. Had some issues compiling GNU APL
______ _ __ __ __ ___ ____ __
/ ____// | / // / / / / | / __ \ / /
/ / __ / |/ // / / / / /| | / /_/ // /
/ /_/ // /| // /_/ / / ___ | / ____// /___
\____//_/ |_/ \____/ /_/ |_|/_/ /_____/
Welcome to GNU APL version 1.7 local / 1050M
Copyright (C) 2008-2016 Dr. Jürgen Sauermann
Banner by FIGlet: www.figlet.org
This program comes with ABSOLUTELY NO WARRANTY;
for details run: apl --gpl.
This program is free software, and you are welcome to
redistribute
it
according to the GNU Public License (GPL) version 3 or
later.
DUMPED 2017-08-06 18:41:50 (GMT-4)
Note that this has some local changes (memory mapping support, and
somea
other minor changes), thus the designation "1.7 local".
But, these notes apply to the unaltered version 1050 as well (and
the
pragma notes apply to 1047).
c++ (GCC) 8.1.1 20180502 (Red Hat 8.1.1-1)
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying
conditions. There is
NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE.
This version of GCC is more stringent. The following pragmas can be
added to successfully compile:
LibPaths.cc:#pragma GCC diagnostic ignored "-Wstringop-truncation"
Quad_SVx.cc:#pragma GCC diagnostic ignored "-Wformat-truncation"
Svar_DB.cc:#pragma GCC diagnostic ignored "-Wformat-truncation"
Svar_record.cc:#pragma GCC diagnostic ignored "-Wformat-truncation"
Svar_record.hh:#pragma GCC diagnostic ignored "-Wclass-memaccess"
If RATIONAL_NUMBERS_DEFINED is defined:
FloatCell.cc line 527
const FloatCell inv_B(denom, numer);
should be
const FloatCell inv_B(B_denom, B_numer);
IntCell.cc line 533
const APL_Integer b = get_int_value();
should be
APL_Integer b = get_int_value();
and
const APL_Integer a = A->get_int_value();
should be
APL_Integer a = A->get_int_value();
(these, because of a = -a and b = -b)
Fred Weigel
|