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 > > >