lmi
[Top][All Lists]
Advanced

[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

Attachment: pgprC6whUYzxL.pgp
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]