[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [lmi] New CI breakage due to gcc 12 updates
From: |
Vadim Zeitlin |
Subject: |
Re: [lmi] New CI breakage due to gcc 12 updates |
Date: |
Thu, 28 Jul 2022 15:43:38 +0200 |
On Mon, 25 Jul 2022 22:39:13 +0000 Greg Chicares <gchicares@sbcglobal.net>
wrote:
GC> On 7/23/22 23:28, Vadim Zeitlin wrote:
GC> [...]
GC> > /opt/lmi/third_party/src/cgicc/Cgicc.cpp:45:37: error: 'template<class
_Arg, class _Result> struct std::unary_function' is deprecated
[-Werror=deprecated-declarations]
GC> > 45 | class FE_nameCompare : public STDNS unary_function<FormEntry,
bool>
GC> > | ^~~~~~~~~~~~~~
GC> >
GC> > To fix this normally I would just stop inheriting from unary_function<>,
GC> > but this involves modifying third party code, so perhaps you'd prefer to
GC> > suppress the deprecation warning for it?
GC>
GC> Yes. If we want to modify it, then we must either
GC> - add a new patch, to be applied after 'cgicc-3.1.4.patch'; or
GC> - alter the existing patch;
GC> and both those ideas sound like too much work for too little gain.
GC>
GC> In 'compiler_*_warnings.make' we already have a list of
GC> inhibited warnings; shouldn't we just add this:
GC>
GC> $(cgicc_objects): clang_common_extra_warnings += \
GC> + -Wno-deprecated-declarations \
GC> -Wno-shorten-64-to-32 \
GC> -Wno-unknown-pragmas \
GC> -Wno-zero-as-null-pointer-constant \
GC>
GC> $(cgicc_objects): gcc_common_extra_warnings += \
GC> -Wno-conversion \
GC> + -Wno-deprecated-declarations \
GC> -Wno-zero-as-null-pointer-constant \
GC>
GC> for clang and gcc, respectively?
Thanks for proposing this solution, I'm too late with my reply, but I can
confirm that after pushing this change the CI builds pass again.
GC> I imagine std::unary_function will be provided forever, even
GC> though deprecated, because it helps in cases like this and can
GC> do no harm, and C++20 [zombie.names] says no one else can
GC> define it with a different meaning.
I wouldn't be so certain about it, clang, in particular, is fond of rather
aggressively removing deprecated identifiers.
Thanks again for fixing this!
VZ
pgprC6whUYzxL.pgp
Description: PGP signature