[FFmpeg-devel] [PATCH] doc/developer: update style guidelines to include for loops with declarations

Rostislav Pehlivanov atomnuker at gmail.com
Thu Nov 9 00:03:04 EET 2017


On 8 November 2017 at 21:49, Mark Thompson <sw at jkqxz.net> wrote:

> On 08/11/17 21:26, Rostislav Pehlivanov wrote:
> > Signed-off-by: Rostislav Pehlivanov <atomnuker at gmail.com>
> > ---
> >  doc/developer.texi | 3 +++
> >  1 file changed, 3 insertions(+)
> >
> > diff --git a/doc/developer.texi b/doc/developer.texi
> > index a7b4f1d737..de7d887451 100644
> > --- a/doc/developer.texi
> > +++ b/doc/developer.texi
> > @@ -132,6 +132,9 @@ designated struct initializers (@samp{struct s x =
> @{ .i = 17 @};});
> >  @item
> >  compound literals (@samp{x = (struct s) @{ 17, 23 @};}).
> >
> > + at item
> > +for loops with variable definition (@samp{for (int i = 0; i < 8; i++)});
> > +
> >  @item
> >  Implementation defined behavior for signed integers is assumed to match
> the
> >  expected behavior for two's complement. Non representable values in
> integer
> >
>
> IMO if you want this it would be better to just allow mixed statements and
> declarations, with this as a consequence.
>
> Can you comment on what the consequences would be for platform support?
> It would remove support for at least one platform I know of (the TI ARM
> compiler).  I've no idea whether it or any other platform which would be
> broken has any users, though.
>
> - Mark
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>


No, I'm kind of against mixed statements and declarations, as are many
people here. It mostly does make the code look worse and encourages overuse
of variables.

I'm absoultely sure no compiler worth supporting would be broken. If any
+15 year old ones do get broken it would be well worth because it would
still ease maintaining a lot. I'm also quite sure no compiler that would be
broken by this would support compiling ffmpeg at all.
This is still an essential feature of C99 after all and we don't use C89.


More information about the ffmpeg-devel mailing list