[FFmpeg-devel] [PATCH 2/2] Require compilers to support C17.

Devin Heitmueller devin.heitmueller at ltnglobal.com
Wed Feb 7 18:15:30 EET 2024


Hello Anton,

On Wed, Feb 7, 2024 at 4:50 AM Anton Khirnov <anton at khirnov.net> wrote:
> > Now I know that developers *LOVE* to use the latest whizbang language
> > features,
>
> Could we please not have these kinds of caricatures in here? It's not
> helpful.

Permit me to rephrase:

In my 25+ years of experience as a full-time C/C++ developer, I have
run across many cases where a developer decided he/she/they wanted to
use some relatively new language feature, often without consideration
for the availability of compilers across popular platforms used by
users.  This is not the sort of thing that should be taken lightly,
and usually needs discussion with the wider developer community (and
in some cases the larger user community, depending on the project).
In fact, that single developer often doesn't even have a complete
picture of who is impacted by such a proposed change.

Which is why we talk about it.  Sometimes the answer is simply, "Hell
no, we're not going to continue supporting Windows 98!".  And
sometimes the answer is, "Oh wait, that means these tens of thousands
of users will need to upgrade their servers or cross-compile.  Perhaps
we shouldn't demand that of them just for the benefit of language
feature X at this time..."

> Not to mention anonymous unions were standardized in C11 and widely
> available for many years (possibly decades) before that, so it's hardly
> a 'latest whizbang feature'.

Yeah, I said "anonymous unions" because that was actually the
justification you offered for making C17 the minimum.  I wasn't
intending to offer a critique on using any specific language feature,
but rather wanted to make sure everyone agreed on the implications of
changing the minimum compiler version.

> > but there's a reason that many projects choose to have
> > relatively old minimum language versions.
> >
> > Now, again, if the developer community all agree that it makes sense
> > to stop supporting an operating system that was shipping as recently
> > as five years ago, then so be it.  But this sort of deprecation
> > shouldn't simply be the result of a single developer deciding he wants
> > to use anonymous unions (or some other C17 feature) and thus we drop
> > support for a bunch of operating system versions.
>
> In case you missed it, I didn't just randomly send this out of the blue,
> it was discussed at the FOSDEM dev meeting (and before that on IRC and
> the ML) and literally nobody in the room was against moving to C11.

Right, so like many people I'm not on the IRC 24x7, and regrettably I
couldn't make the FOSDEM meeting.  Perhaps I simply overlooked it, but
I couldn't find anything on the ML other than the patch you sent on
February 3rd changing it to C11.  Given the possible implications, I
would have expected to see a discussion on the ML.  If such a
discussion did happen on the ML and I overlooked it, then I guess it's
on me for not raising concerns earlier.

In fact, the FOSDEM discussion and the earlier patch was about C11,
which I actually don't have any objection to.  I would argue the same
discussion should be had to assess the impact and conclude whether
it's worth it, but it doesn't effect any of my use cases and (in my
opinion) there are likely to be far fewer users impacted by such a
change.

This feels like just the sort of thing the TC is meant to
discuss/resolve.  And the fact that your position as the developer
submitting the patch is that it's "no big deal" is exactly why it's
the sort of thing that needs agreement from a wider audience.

Devin



--
Devin Heitmueller, Senior Software Engineer
LTN Global Communications
o: +1 (301) 363-1001
w: https://ltnglobal.com  e: devin.heitmueller at ltnglobal.com


More information about the ffmpeg-devel mailing list