<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Jan 28, 2021 at 8:30 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">Hello,<br>
<br>
we have currently:<br>
<br>
/**<br>
  * @brief Thread life states.<br>
  *<br>
  * The thread life states are orthogonal to the thread states used for<br>
  * synchronization primitives and blocking operations.  They reflect <br>
the state<br>
  * changes triggered with thread restart and delete requests.<br>
  *<br>
  * The individual state values must be a power of two to allow use of bit<br>
  * operations to manipulate and evaluate the thread life state.<br>
  */<br>
typedef enum {<br>
   THREAD_LIFE_PROTECTED = 0x1,<br>
   THREAD_LIFE_RESTARTING = 0x2,<br>
   THREAD_LIFE_TERMINATING = 0x4,<br>
   THREAD_LIFE_CHANGE_DEFERRED = 0x8,<br>
   THREAD_LIFE_DETACHED = 0x10<br>
} Thread_Life_state;<br>
<br>
Coverity complains about thinks like this:<br>
<br>
executing->Life.state = previous_life_state | THREAD_LIFE_PROTECTED;<br>
<br>
   _Thread_Change_life_locked(<br>
     executing,<br>
     THREAD_LIFE_PROTECTED | THREAD_LIFE_RESTARTING,<br>
     0,<br>
     0<br>
   );<br>
<br>
It seems to dislike implicit int to enum conversions <br>
(PW.MIXED_ENUM_TYPE). Should I remove the enum and use defines instead?<br>
<br></blockquote><div><br></div><div>The advantages of the enum are that they can be type-checked. So, in some way, coverity is right to complain. This should probably be either macro defines or a bitfield. (Since bitfields have their own problems, I think defines are suitable.)</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
-- <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>
<br>
_______________________________________________<br>
devel mailing list<br>
<a href="mailto:devel@rtems.org" target="_blank">devel@rtems.org</a><br>
<a href="http://lists.rtems.org/mailman/listinfo/devel" rel="noreferrer" target="_blank">http://lists.rtems.org/mailman/listinfo/devel</a></blockquote></div></div>