rtems/src/scheduler* code convention issue
Peter Dufault
dufault at hda.com
Thu May 29 21:34:33 UTC 2014
On May 28, 2014, at 15:19 , Gedare Bloom <gedare at rtems.org> wrote:
>> + It declares new variables in inner scopes which has been avoided
>> in the past. I think this was not supported in older C standards and thus
>> there was no choice but to avoid it. I don't remember when it got added
>> to C. I assume C99 since that is our target language. But we never
>> discussed it.
>>
> I believe I have seen this creeping into RTEMS recently. The coding
> conventions say to use ANSI C, which is a vague description that could
> mean C99, or C90.
By "declaring variables in inner scopes" are you talking about block scope, that is,
int foo(void)
{
/* And then later on... */
{
int new_scope_var;
...
}
}
where "new_scope_var" is only in existence in that block?
I think that's been around close to forever and it shouldn't be discouraged. Historically macros depend on it, and a coding convention that says "declare a variable in as restricted a scope as possible" is a MUCH better convention than avoiding new variables in block scope.
Sorry if I misunderstood.
Peter
-----------------
Peter Dufault
HD Associates, Inc. Software and System Engineering
More information about the devel
mailing list