[vlc-devel] [PATCH 2/2] thread: fix compilation with clang 7 or older

Rémi Denis-Courmont remi at remlab.net
Tue Feb 25 11:44:18 CET 2020


Hi,

Ubuntu LTS originally uses Clang 6 as default. But it has backports of 7, 8 and 9 in the official repos.

Le 25 février 2020 11:51:23 GMT+02:00, Thomas Guillem <thomas at gllm.fr> a écrit :
>
>
>On Tue, Feb 25, 2020, at 10:33, Alexandre Janniaux wrote:
>> Hi,
>> 
>> The main issue with requiring earlier version of Clang is
>> that it needs to be shipped in android NDK release too.
>> 
>> Currently it seems to be failing with android NDK 18 (which
>> is previous VLC 3 NDK version) but is ok with NDK 21 (which
>> is LTS and the current version on VLC 4 and latest VLC 3).
>> 
>> Is it planned to drop support of NDK 18? (or done?).
>
>Yes, VLC 4.0 is NDK 21 only. It is building now with NDK 18 but we
>shouldn't do anything to keep supporting it.
>
>So my question: is the clang issue only happening on NDK 18 ? If so, I
>would tend to agree with Rémi.
>
>What other OS/distrib are still using clang 7 ?
>
>> 
>> > Especially not old bugs from a compiler that will be already 3
>major releases behind by the time VLC 4.0 comes out, while on the other
>hand C++ devs are craving to use C++17 and we require bleeding edge
>version of some other build tools (Meson requirement is so new that you
>can't build contribs on current Ubuntu LTS).
>> 
>> I don't think toolchains and buildsystems are comparable
>> with regards to version update. You can be stuck on old
>> compilers but still be able to use bleeding edge build
>> systems. The case of android is typically one of them.
>> 
>> Regards,
>> --
>> Alexandre Janniaux
>> Videolabs
>> 
>> On Tue, Feb 25, 2020 at 11:06:20AM +0200, Rémi Denis-Courmont wrote:
>> > Hi,
>> >
>> > I don't think it makes sense in general to try to work around
>compiler bugs.
>> >
>> > Especially not old bugs from a compiler that will be already 3
>major releases behind by the time VLC 4.0 comes out, while on the other
>hand C++ devs are craving to use C++17 and we require bleeding edge
>version of some other build tools (Meson requirement is so new that you
>can't build contribs on current Ubuntu LTS).
>> >
>> > Le 25 février 2020 10:24:33 GMT+02:00, Thomas Guillem
><thomas at gllm.fr> a écrit :
>> > >
>> > >
>> > >On Tue, Feb 25, 2020, at 08:34, Rémi Denis-Courmont wrote:
>> > >> Hi,
>> > >>
>> > >> Clang 7 supports what you call C17. It even has a compiler flag
>for
>> > >it explicitly. That's all in the LLVM and Clang documentation.
>> > >>
>> > >> Ergo it works or your compiler is buggy.
>> > >
>> > >I think that is what ePirat said, clang 7 has the bug.
>> > >
>> > >Could it be possible to enable this cast on a ifdef clang < 7 ?
>> > >
>> > >That way, we can easily remove later when we drop clang 7 support.
>> > >
>> > >>
>> > >> Le 25 février 2020 08:36:39 GMT+02:00, Marvin Scholz
>> > ><epirat07 at gmail.com> a écrit :
>> > >>> On 25 Feb 2020, at 6:56, Rémi Denis-Courmont wrote:
>> > >>>
>> > >>>> Le maanantaina 24. helmikuuta 2020, 17.45.07 EET Marvin Scholz
>a
>> > >>>> écrit :
>> > >>>>> even though it never modifies it.
>> > >>>>> Clang versions 7 or older did implement this quite strictly
>and
>> > >>>>> therefore errors when compiling this code:
>> > >>>> That's either a bug in that compiler version or possibly a
>minor
>> > >>>> update not
>> > >>>> installed, or mistaken compiler flag (in other words,
>configure
>> > >script
>> > >>>> bug).
>> > >>>> Clang 7 officially supports C17/C18.
>> > >>>
>> > >>> I tested all major versions before 7 and all are affected.
>> > >>> I can’t easily test minor versions between 7 or 8 as they are
>not
>> > >>> available
>> > >>> on godbolt. Looking at the git repository though it seems the
>first
>> > >>> fixed
>> > >>> version was 8.0.0.
>> > >>>
>> > >>> Not sure what you mean by mistaken compiler flag here?
>> > >>>
>> > >>> >
>> > >>>>  And to call it C17 is a bit of a stretch. It's really just an
>> > >>>>  re-edition of
>> > >>>>  C11 with editorial corrections gathered. The atomic spelling
>error
>> > >was
>> > >>>>  already
>> > >>>>  found and corrected in 2014.
>> > >>>
>> > >>> It’s called C17 on open-std.org, thats why I used that here,
>not
>> > >sure
>> > >>> what else to
>> > >>> call it.
>> > >>>
>> > >>>>  --
>> > >>>>  Реми Дёни-Курмон
>> > >>>>  http://www.remlab.net/ vlc-devel mailing list
>> > >>>>  To unsubscribe or modify your subscription options:
>> > >>>>  https://mailman.videolan.org/listinfo/vlc-devel
>> > >>> vlc-devel mailing list
>> > >>> To unsubscribe or modify your subscription options:
>> > >>> https://mailman.videolan.org/listinfo/vlc-devel
>> > >>
>> > >> --
>> > >> Envoyé de mon appareil Android avec Courriel K-9 Mail. Veuillez
>> > >excuser ma brièveté.
>> > >> _______________________________________________
>> > >> vlc-devel mailing list
>> > >> To unsubscribe or modify your subscription options:
>> > >> https://mailman.videolan.org/listinfo/vlc-devel
>> >
>> > --
>> > Envoyé de mon appareil Android avec Courriel K-9 Mail. Veuillez
>excuser ma brièveté.
>> 
>> > _______________________________________________
>> > vlc-devel mailing list
>> > To unsubscribe or modify your subscription options:
>> > https://mailman.videolan.org/listinfo/vlc-devel
>> _______________________________________________
>> vlc-devel mailing list
>> To unsubscribe or modify your subscription options:
>> https://mailman.videolan.org/listinfo/vlc-devel
>_______________________________________________
>vlc-devel mailing list
>To unsubscribe or modify your subscription options:
>https://mailman.videolan.org/listinfo/vlc-devel

-- 
Envoyé de mon appareil Android avec Courriel K-9 Mail. Veuillez excuser ma brièveté.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/vlc-devel/attachments/20200225/226d4fda/attachment.html>


More information about the vlc-devel mailing list