<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Aug 29, 2022 at 2:41 AM Sebastian Huber <<a href="mailto:sebastian.huber@embedded-brains.de">sebastian.huber@embedded-brains.de</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On 29/08/2022 09:30, Chris Johns wrote:<br>
> On 29/8/22 5:07 pm, Sebastian Huber wrote:<br>
>> On 19/08/2022 22:46, Joel Sherrill wrote:<br>
>>> Module:    rtems<br>
>>> Branch:    master<br>
>>> Commit:    5b875915152a248079855bcb98e871f70ac314cc<br>
>>> Changeset:<br>
>>> <a href="http://git.rtems.org/rtems/commit/?id=5b875915152a248079855bcb98e871f70ac314cc" rel="noreferrer" target="_blank">http://git.rtems.org/rtems/commit/?id=5b875915152a248079855bcb98e871f70ac314cc</a><br>
>>><br>
>>> Author:    Ryan Long<<a href="mailto:ryan.long@oarcorp.com" target="_blank">ryan.long@oarcorp.com</a>><br>
>>> Date:      Tue Aug 16 12:00:26 2022 -0500<br>
>>><br>
>>> schedulerpriority.h: Fix gcc 12 warning<br>
>>><br>
>>> Changed the size of the array to 1 to get rid of the warning.<br>
>>><br>
>>> Updates #4662<br>
>>><br>
>>> ---<br>
>>><br>
>>>    cpukit/include/rtems/score/schedulerpriority.h | 2 +-<br>
>>>    1 file changed, 1 insertion(+), 1 deletion(-)<br>
>>><br>
>>> diff --git a/cpukit/include/rtems/score/schedulerpriority.h<br>
>>> b/cpukit/include/rtems/score/schedulerpriority.h<br>
>>> index cf5d0762a9..e485e97c60 100644<br>
>>> --- a/cpukit/include/rtems/score/schedulerpriority.h<br>
>>> +++ b/cpukit/include/rtems/score/schedulerpriority.h<br>
>>> @@ -94,7 +94,7 @@ typedef struct {<br>
>>>      /**<br>
>>>       * @brief One ready queue per priority level.<br>
>>>       */<br>
>>> -  Chain_Control Ready[ 0 ];<br>
>>> +  Chain_Control Ready[ 1 ];<br>
>>>    } Scheduler_priority_Context;<br>
>> Increasing the storage size to fix a warning is the wrong approach.  The warning<br>
>> should be suppressed in the application configuration header or the<br>
>> configuration should be changed to account for the new chain control.<br>
> Why do you say this is right or a better approach?<br>
<br>
A warning fix should not increase the storage size on the target. The <br>
Ready member is a flexible array those size is defined by the <br>
application configuration. This approach is used in several places. The <br>
declaration should be actually:<br>
<br>
Chain_Control Ready[ RTEMS_ZERO_LENGTH_ARRAY ];<br></blockquote><div><br></div><div>The change to [1] was from a gcc documentation recommendation. Per</div><div>6.18 Arrays of Length Zero in the info installed with our GCC version, [0]<br></div><div>is a GNU extension and [1] is the C90 way to do it. We should not be using</div><div>a GNU extension.</div><div><br></div><div>In code which uses this construct (whether 0 or 1), if done in headers, </div><div>we can't assume users will compile with the array-bounds and/or</div><div>-Wzero-length-bounds disabled. If the warning is triggered in a header,<br></div><div>then it should be bracketed with the macros to disable the warning</div><div>temporarily.</div><div><br></div><div>--joel</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
-- <br>
embedded brains GmbH<br>
Herr Sebastian HUBER<br>
Dornierstr. 4<br>
82178 Puchheim<br>
Germany<br>
email: <a href="mailto:sebastian.huber@embedded-brains.de" target="_blank">sebastian.huber@embedded-brains.de</a><br>
phone: +49-89-18 94 741 - 16<br>
fax:   +49-89-18 94 741 - 08<br>
<br>
Registergericht: Amtsgericht München<br>
Registernummer: HRB 157899<br>
Vertretungsberechtigte Geschäftsführer: Peter Rasmussen, Thomas Dörfler<br>
Unsere Datenschutzerklärung finden Sie hier:<br>
<a href="https://embedded-brains.de/datenschutzerklaerung/" rel="noreferrer" target="_blank">https://embedded-brains.de/datenschutzerklaerung/</a><br>
</blockquote></div></div>