[PATCH] score: Use defines for Thread_Life_state
Sebastian Huber
sebastian.huber at embedded-brains.de
Fri Jan 29 18:28:19 UTC 2021
On 29/01/2021 18:33, Peter Dufault wrote:
>>> Do not use an enum as a bit field. Document the state flags.
>>>
>>>
>>> Is this a new style rule that needs to be documented?
>> Into which category would you put this? Language and Compiler?
>>
>> https://docs.rtems.org/branches/master/eng/coding-conventions.html
>>
>>
>> Yes.
>>
>>
> I use enums as bit fields a lot. I use them in conjunction with objects that are the same enum.
>
> I avoid using #define. In most situations you can't print them in a debugger and they imply restricted usage.
>
> Is this an appropriate warning? Does it always mean that the enum should be replaced with a #define?
>
> If it doesn't always apply then the style should make it clear when it should apply.
We don't have to agree with Coverity. This is why I asked before the change:
https://lists.rtems.org/pipermail/devel/2021-January/064105.html
From my point of view enums are useful for bit fields and I don't think
this point of view is too exotic since debuggers such as GDB and
Lauterbach support it. For example:
enum a {
A,
B,
C
};
enum a f(enum a x, enum a y)
{
return x | y;
}
enum a v;
int main()
{
v = f(B, C);
return 0;
}
Breakpoint 1, main () at test.c:16
16 v = f(B, C);
(gdb) n
17 return 0;
(gdb) p v
$1 = (B | C)
--
embedded brains GmbH
Herr Sebastian HUBER
Dornierstr. 4
82178 Puchheim
Germany
email: sebastian.huber at embedded-brains.de
phone: +49-89-18 94 741 - 16
fax: +49-89-18 94 741 - 08
Registergericht: Amtsgericht München
Registernummer: HRB 157899
Vertretungsberechtigte Geschäftsführer: Peter Rasmussen, Thomas Dörfler
Unsere Datenschutzerklärung finden Sie hier:
https://embedded-brains.de/datenschutzerklaerung/
More information about the devel
mailing list