[vlc-devel] [PATCH 1/2] configure: add an option to turn some dangerous warnings into errors

Rémi Denis-Courmont remi at remlab.net
Fri Mar 20 11:43:24 CET 2020


Le perjantaina 20. maaliskuuta 2020, 12.33.10 EET Steve Lhomme a écrit :
> On 2020-03-20 11:30, Rémi Denis-Courmont wrote:
> > Le perjantaina 20. maaliskuuta 2020, 11.59.12 EET Steve Lhomme a écrit :
> >> On 2020-03-20 10:29, Rémi Denis-Courmont wrote:
> >>> Le perjantaina 20. maaliskuuta 2020, 11.20.49 EET Steve Lhomme a écrit :
> >>>> Mismatching pointers are usually a result of using the incorrect
> >>>> pointer
> >>>> and might trigger crashes.
> >>>> 
> >>>> Missing initializers are useful for structures of callbacks, to make
> >>>> sure
> >>>> a
> >>>> new callback is not missing by accident. It's always possible to put
> >>>> NULL,
> >>>> on purpose, knowingly.
> >>>> 
> >>>> Both flags produce no error on win32/win64 with clang or gcc. But they
> >>>> cannot be set globally outside of the build script as many contribs
> >>>> will
> >>>> likely fail these tests and we shouldn't refuse/patch a contrib just
> >>>> for
> >>>> that.
> >>>> 
> >>>> I have been compiling with these flags for weeks without issues. It
> >>>> helped
> >>>> find some issue (48442d3536edae578f1a384e73346d1e2a4c0061) that were
> >>>> pushed
> >>>> unnoticed without these checks.
> >>>> ---
> >>>> 
> >>>>    configure.ac | 6 ++++++
> >>>>    1 file changed, 6 insertions(+)
> >>>> 
> >>>> diff --git a/configure.ac b/configure.ac
> >>>> index bc1874cb97c..c96b3fe6fac 100644
> >>>> --- a/configure.ac
> >>>> +++ b/configure.ac
> >>>> @@ -4480,6 +4480,12 @@ AS_VAR_IF(with_libfuzzer, no, [], [
> >>>> 
> >>>>        ])
> >>>>    
> >>>>    ])
> >>>> 
> >>>> +AC_ARG_ENABLE([extra-checks],
> >>>> +  AS_HELP_STRING([--enable-extra-checks],
> >>>> +         [Turn some compilation warnings into errors]), [
> >>>> +  AX_APPEND_COMPILE_FLAGS([-Werror=incompatible-pointer-types
> >>>> -Werror=missing-field-initializers], [CFLAGS]) +])
> >>> 
> >>> I don't see what justifies adding yet another option here. In this case,
> >>> you can just as well pass them with CFLAGS/CXXFLAGS like everybody and
> >>> everything else does.
> >> 
> >> No you can't.
> > 
> > Yes you can. I've been doing it for more than a decade, including for
> > Windows.
> > 
> > Limitations of your build scripts are not a design criteria for configure.
> 
> This is not *my* build script, this is *the* build script.

There is not a "the" build script. I don't care what crap people might leave 
outside the configure script. I won't take clutter in the configure script for 
the sole purpose of working around limitation in overlying build scripts.

-- 
レミ・デニ-クールモン
http://www.remlab.net/





More information about the vlc-devel mailing list