[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Bug-apl] Issues building with GCC 8.1.1
From: |
Fred Weigel |
Subject: |
Re: [Bug-apl] Issues building with GCC 8.1.1 |
Date: |
Thu, 24 May 2018 19:18:57 +0000 |
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
> >
>