<div dir="ltr">I should have gone through the definition before asking for help. <div><br></div><div>Without RTEMS_DEBUG, _Assert() does nothing</div><div>#else</div>  #define _Assert( _e ) ( ( void ) 0 )<br><div><br></div><div>Thank you for your help.</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Jul 27, 2020 at 4:33 PM 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 27/07/2020 10:40, Richi Dubey wrote:<br>
<br>
> Hi,<br>
><br>
> When I am compiling my current code, I am getting the following <br>
> compiler warning:<br>
><br>
> ---------------------------------------------------------------<br>
><br>
> /home/richi/quick-start/src/rtems/c/src/../../cpukit/score/src/schedulerstrongapa.c: <br>
> In function '_Scheduler_strong_APA_Extract_from_ready':<br>
> /home/richi/quick-start/src/rtems/c/src/../../cpukit/score/src/schedulerstrongapa.c:400:37: <br>
> warning: variable 'self' set but not used [-Wunused-but-set-variable]<br>
>    Scheduler_strong_APA_Context     *self;<br>
>                                      ^~~~<br>
> ---------------------------------------------------------------<br>
><br>
> This warning refers to the following code: <br>
> <a href="https://github.com/richidubey/rtems/blob/3a9843f61bbd547d150d2ee2d791668cfb5aa282/cpukit/score/src/schedulerstrongapa.c#L415" rel="noreferrer" target="_blank">https://github.com/richidubey/rtems/blob/3a9843f61bbd547d150d2ee2d791668cfb5aa282/cpukit/score/src/schedulerstrongapa.c#L415</a><br>
><br>
> We can see that the self variable is used to get the status of the <br>
> chain, why would I get such a warning then?<br>
<br>
void _Scheduler_strong_APA_Extract_from_ready(<br>
   Scheduler_Context *context,<br>
   Scheduler_Node    *node_to_extract<br>
)<br>
{<br>
   Scheduler_strong_APA_Context     *self;<br>
   Scheduler_strong_APA_Node        *node;<br>
<br>
   self = _Scheduler_strong_APA_Get_self( context );<br>
   node = _Scheduler_strong_APA_Node_downcast( node_to_extract );<br>
<br>
   _Assert( _Chain_Is_empty(self->allNodes) == false );<br>
   _Assert( _Chain_Is_node_off_chain( &node->Node ) == false );<br>
<br>
    _Chain_Extract_unprotected( &node->Node );    //Removed from allNodes<br>
    _Chain_Set_off_chain( &node->Node );<br>
}<br>
<br>
It is only used in the _Assert(). I guess you build without the <br>
configure option --enable-rtems-debug? During development it is useful <br>
to enable the RTEMS_DEBUG support.<br>
<br>
You should not compare boolean values against true or false. Just write<br>
<br>
_Assert( !_Chain_Is_empty(self->allNodes) );<br>
<br>
for example.<br>
<br>
</blockquote></div>