diff mbox

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

Message ID 20171108212613.14846-1-atomnuker@gmail.com
State New
Headers show

Commit Message

Rostislav Pehlivanov Nov. 8, 2017, 9:26 p.m. UTC
Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
---
 doc/developer.texi | 3 +++
 1 file changed, 3 insertions(+)

Comments

Carl Eugen Hoyos Nov. 8, 2017, 10:02 p.m. UTC | #1
2017-11-08 22:49 GMT+01:00 Mark Thompson <sw@jkqxz.net>:
> On 08/11/17 21:26, Rostislav Pehlivanov wrote:

>> +@item
>> +for loops with variable definition (@samp{for (int i = 0; i < 8; i++)});

> Can you comment on what the consequences would be for platform support?

A similar-looking issue was reported for some version of msvc a short time ago.

Carl Eugen
Rostislav Pehlivanov Nov. 8, 2017, 10:03 p.m. UTC | #2
On 8 November 2017 at 21:49, Mark Thompson <sw@jkqxz.net> wrote:

> On 08/11/17 21:26, Rostislav Pehlivanov wrote:
> > Signed-off-by: Rostislav Pehlivanov <atomnuker@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 @};}).
> >
> > +@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@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.
Mark Thompson Nov. 8, 2017, 10:20 p.m. UTC | #3
On 08/11/17 22:03, Rostislav Pehlivanov wrote:
> On 8 November 2017 at 21:49, Mark Thompson <sw@jkqxz.net> wrote:
> 
>> On 08/11/17 21:26, Rostislav Pehlivanov wrote:
>>> Signed-off-by: Rostislav Pehlivanov <atomnuker@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 @};}).
>>>
>>> +@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.
>>
> 
> 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 think the opposite.  I find declaration inside the loop header ugly and weird, while mixed declarations and code do make sense in some cases: e.g. pointer chasing through structures with different types - declaring all the variables in advance is just annoying.  (Maybe that's not strong enough to allow it everywhere if you believe that people will use it inappropriately though.)

> 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.
TI at least disagrees with you, releases are still made without full C99 support.  I know it certainly has use on embedded platforms (though likely C6000 more so than ARM), but I don't know if anyone builds libavcodec or similar with it.  (I don't use it - I only know this because Diego recently asked if anyone could test whether it could build libav, and I verified that it could after fixing some minor issues.  He couldn't find any users, though, and the support was removed anyway.)

- Mark
James Almer Nov. 8, 2017, 11:09 p.m. UTC | #4
On 11/8/2017 7:41 PM, Rostislav Pehlivanov wrote:
> On 8 November 2017 at 22:20, Mark Thompson <sw@jkqxz.net> wrote:
> 
>> On 08/11/17 22:03, Rostislav Pehlivanov wrote:
>>> On 8 November 2017 at 21:49, Mark Thompson <sw@jkqxz.net> wrote:
>>>
>>>> On 08/11/17 21:26, Rostislav Pehlivanov wrote:
>>>>> Signed-off-by: Rostislav Pehlivanov <atomnuker@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 @};}).
>>>>>
>>>>> +@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.
>>>>
>>>
>>> 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 think the opposite.  I find declaration inside the loop header ugly and
>> weird, while mixed declarations and code do make sense in some cases: e.g.
>> pointer chasing through structures with different types - declaring all the
>> variables in advance is just annoying.  (Maybe that's not strong enough to
>> allow it everywhere if you believe that people will use it inappropriately
>> though.)
>>
>>
> I'm pretty sure its because you're not used to them yet. I'm not taking
> this as a nak.
> If you want mixed declaration submit a patch later on and let people
> comment on it.

It's the other way around. If you want to introduce some change, you're
the one that needs to convince other devs it's a good change, and so
far, two dislike it.
You can't commit this when people are against it saying "send a patch to
undo it later".

Besides, this patch alone is incomplete. Warnings about mixed code and
declaration are currently force enabled in configure.
Rostislav Pehlivanov May 12, 2018, 7:49 p.m. UTC | #5
On 8 November 2017 at 21:26, Rostislav Pehlivanov <atomnuker@gmail.com>
wrote:

> Signed-off-by: Rostislav Pehlivanov <atomnuker@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 @};}).
>
> +@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
> --
> 2.15.0.403.gc27cc4dac6
>
>
Ping.
Apparently we don't support old msvc versions, so there's nothing stopping
us from using them.
Rostislav Pehlivanov May 14, 2018, 9:38 p.m. UTC | #6
On 12 May 2018 at 20:49, Rostislav Pehlivanov <atomnuker@gmail.com> wrote:

>
>
> On 8 November 2017 at 21:26, Rostislav Pehlivanov <atomnuker@gmail.com>
> wrote:
>
>> Signed-off-by: Rostislav Pehlivanov <atomnuker@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 @};}).
>>
>> +@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
>> --
>> 2.15.0.403.gc27cc4dac6
>>
>>
> Ping.
> Apparently we don't support old msvc versions, so there's nothing stopping
> us from using them.
>

I'll apply this tomorrow unless there are any objections and will apply
some patches to convert some of my code to this.
Mark Thompson May 14, 2018, 9:57 p.m. UTC | #7
On 14/05/18 22:38, Rostislav Pehlivanov wrote:
> On 12 May 2018 at 20:49, Rostislav Pehlivanov <atomnuker@gmail.com> wrote:
>> On 8 November 2017 at 21:26, Rostislav Pehlivanov <atomnuker@gmail.com>
>> wrote:
>>
>>> Signed-off-by: Rostislav Pehlivanov <atomnuker@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 @};}).
>>>
>>> +@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
>>> --
>>> 2.15.0.403.gc27cc4dac6
>>>
>>>
>> Ping.
>> Apparently we don't support old msvc versions, so there's nothing stopping
>> us from using them.
>>
> 
> I'll apply this tomorrow unless there are any objections and will apply
> some patches to convert some of my code to this.

On 08/11/17 23:05, Mark Thompson wrote:
> Before continuing with this patch I think you should at least:
> * Have some idea what platforms are affected.
> * Investigate whether these platforms have any significant user base (maybe ask the user mailing lists, at least).
> * Propose a patch to configure which either removes support for them or somehow disables them (e.g. it could test-compile a loop including a declaration).

Are these done?

- Mark
Rostislav Pehlivanov May 14, 2018, 10:30 p.m. UTC | #8
On 14 May 2018 at 22:57, Mark Thompson <sw@jkqxz.net> wrote:

> On 14/05/18 22:38, Rostislav Pehlivanov wrote:
> > On 12 May 2018 at 20:49, Rostislav Pehlivanov <atomnuker@gmail.com>
> wrote:
> >> On 8 November 2017 at 21:26, Rostislav Pehlivanov <atomnuker@gmail.com>
> >> wrote:
> >>
> >>> Signed-off-by: Rostislav Pehlivanov <atomnuker@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 @};}).
> >>>
> >>> +@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
> >>> --
> >>> 2.15.0.403.gc27cc4dac6
> >>>
> >>>
> >> Ping.
> >> Apparently we don't support old msvc versions, so there's nothing
> stopping
> >> us from using them.
> >>
> >
> > I'll apply this tomorrow unless there are any objections and will apply
> > some patches to convert some of my code to this.
>
> On 08/11/17 23:05, Mark Thompson wrote:
> > Before continuing with this patch I think you should at least:
> > * Have some idea what platforms are affected.
> > * Investigate whether these platforms have any significant user base
> (maybe ask the user mailing lists, at least).
> > * Propose a patch to configure which either removes support for them or
> somehow disables them (e.g. it could test-compile a loop including a
> declaration).
>
> Are these done?
>

Yes, the only platforms mentioned were MSVC versions older than 2013, which
are unsupported as of recent.
Mark Thompson May 14, 2018, 10:40 p.m. UTC | #9
On 14/05/18 23:30, Rostislav Pehlivanov wrote:
> On 14 May 2018 at 22:57, Mark Thompson <sw@jkqxz.net> wrote:
>> On 14/05/18 22:38, Rostislav Pehlivanov wrote:
>>> On 12 May 2018 at 20:49, Rostislav Pehlivanov <atomnuker@gmail.com>
>> wrote:
>>>> On 8 November 2017 at 21:26, Rostislav Pehlivanov <atomnuker@gmail.com>
>>>> wrote:
>>>>
>>>>> Signed-off-by: Rostislav Pehlivanov <atomnuker@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 @};}).
>>>>>
>>>>> +@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
>>>>> --
>>>>> 2.15.0.403.gc27cc4dac6
>>>>>
>>>>>
>>>> Ping.
>>>> Apparently we don't support old msvc versions, so there's nothing
>> stopping
>>>> us from using them.
>>>>
>>>
>>> I'll apply this tomorrow unless there are any objections and will apply
>>> some patches to convert some of my code to this.
>>
>> On 08/11/17 23:05, Mark Thompson wrote:
>>> Before continuing with this patch I think you should at least:
>>> * Have some idea what platforms are affected.
>>> * Investigate whether these platforms have any significant user base
>> (maybe ask the user mailing lists, at least).
>>> * Propose a patch to configure which either removes support for them or
>> somehow disables them (e.g. it could test-compile a loop including a
>> declaration).
>>
>> Are these done?
>>
> 
> Yes, the only platforms mentioned were MSVC versions older than 2013, which
> are unsupported as of recent.

Do you have a link to this discussion?  I'm not sure I've seen it.

Where can I find the configure patch?

- Mark
Hendrik Leppkes May 14, 2018, 10:59 p.m. UTC | #10
On Tue, May 15, 2018 at 12:30 AM, Rostislav Pehlivanov
<atomnuker@gmail.com> wrote:
> On 14 May 2018 at 22:57, Mark Thompson <sw@jkqxz.net> wrote:
>
>> On 14/05/18 22:38, Rostislav Pehlivanov wrote:
>> > On 12 May 2018 at 20:49, Rostislav Pehlivanov <atomnuker@gmail.com>
>> wrote:
>> >> On 8 November 2017 at 21:26, Rostislav Pehlivanov <atomnuker@gmail.com>
>> >> wrote:
>> >>
>> >>> Signed-off-by: Rostislav Pehlivanov <atomnuker@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 @};}).
>> >>>
>> >>> +@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
>> >>> --
>> >>> 2.15.0.403.gc27cc4dac6
>> >>>
>> >>>
>> >> Ping.
>> >> Apparently we don't support old msvc versions, so there's nothing
>> stopping
>> >> us from using them.
>> >>
>> >
>> > I'll apply this tomorrow unless there are any objections and will apply
>> > some patches to convert some of my code to this.
>>
>> On 08/11/17 23:05, Mark Thompson wrote:
>> > Before continuing with this patch I think you should at least:
>> > * Have some idea what platforms are affected.
>> > * Investigate whether these platforms have any significant user base
>> (maybe ask the user mailing lists, at least).
>> > * Propose a patch to configure which either removes support for them or
>> somehow disables them (e.g. it could test-compile a loop including a
>> declaration).
>>
>> Are these done?
>>
>
> Yes, the only platforms mentioned were MSVC versions older than 2013, which
> are unsupported as of recent.

How is that? MSVC 2013 still works mostly fine (short of one test
where the Unicode handling is a bit weird, and noone bothered to work
around it).

- Hendrik
Rostislav Pehlivanov May 14, 2018, 11:59 p.m. UTC | #11
On 14 May 2018 at 23:59, Hendrik Leppkes <h.leppkes@gmail.com> wrote:

> On Tue, May 15, 2018 at 12:30 AM, Rostislav Pehlivanov
> <atomnuker@gmail.com> wrote:
> > On 14 May 2018 at 22:57, Mark Thompson <sw@jkqxz.net> wrote:
> >
> >> On 14/05/18 22:38, Rostislav Pehlivanov wrote:
> >> > On 12 May 2018 at 20:49, Rostislav Pehlivanov <atomnuker@gmail.com>
> >> wrote:
> >> >> On 8 November 2017 at 21:26, Rostislav Pehlivanov <
> atomnuker@gmail.com>
> >> >> wrote:
> >> >>
> >> >>> Signed-off-by: Rostislav Pehlivanov <atomnuker@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 @};}).
> >> >>>
> >> >>> +@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
> >> >>> --
> >> >>> 2.15.0.403.gc27cc4dac6
> >> >>>
> >> >>>
> >> >> Ping.
> >> >> Apparently we don't support old msvc versions, so there's nothing
> >> stopping
> >> >> us from using them.
> >> >>
> >> >
> >> > I'll apply this tomorrow unless there are any objections and will
> apply
> >> > some patches to convert some of my code to this.
> >>
> >> On 08/11/17 23:05, Mark Thompson wrote:
> >> > Before continuing with this patch I think you should at least:
> >> > * Have some idea what platforms are affected.
> >> > * Investigate whether these platforms have any significant user base
> >> (maybe ask the user mailing lists, at least).
> >> > * Propose a patch to configure which either removes support for them
> or
> >> somehow disables them (e.g. it could test-compile a loop including a
> >> declaration).
> >>
> >> Are these done?
> >>
> >
> > Yes, the only platforms mentioned were MSVC versions older than 2013,
> which
> > are unsupported as of recent.
>
> How is that? MSVC 2013 still works mostly fine (short of one test
> where the Unicode handling is a bit weird, and noone bothered to work
> around it).
>
> - Hendrik
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel@ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>

MSVC 2013 is still perfectly supported and tested, this is for versions
older than that (when they didn't have proper C99 support).
Rostislav Pehlivanov May 18, 2018, 1:41 a.m. UTC | #12
On 8 November 2017 at 21:26, Rostislav Pehlivanov <atomnuker@gmail.com>
wrote:

> Signed-off-by: Rostislav Pehlivanov <atomnuker@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 @};}).
>
> +@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
> --
> 2.15.0.403.gc27cc4dac6
>
>
Pushed, thanks
Its a bittersweet victory, took 3 years but its finally done.
Carl Eugen Hoyos May 18, 2018, 7:56 a.m. UTC | #13
2018-05-18 3:41 GMT+02:00, Rostislav Pehlivanov <atomnuker@gmail.com>:

> Pushed, thanks
> Its a bittersweet victory, took 3 years but its finally done.

Is it possible that you don't see that a "victory" always has
a disadvantage?

Carl Eugen
diff mbox

Patch

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 @};}).
 
+@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