avr-gcc-list
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [avr-gcc-list] Re: C vs. assembly performance


From: Bob Paddock
Subject: Re: [avr-gcc-list] Re: C vs. assembly performance
Date: Sun, 1 Mar 2009 08:21:55 -0500

> And the first complies with coding standards like gnu and gcc,
> and maybe even others like misra etc.

MISRA doesn't say a lot about style, that is how pretty
the code looks.  It is implicit that ugly looking code
is bad, and probably buggy.  If your code looks
like a IOCCC entry, your code would not be MISRA
complaint.
http://www.ioccc.org/

Per MISRA, in a nested if/else tree all brackets are required, and
there must be a final else{} as you showed.

As far as I can tell MISRA-2004 is silent on a preference
between switch(), nested if/else() and function pointers.
Personally I prefer tables of function pointers.  Makes
code looking like a threaded language like Forth at times.
In any case what can get hairy fast is conditionals containing
conditionals, which makes testing all execution paths problematic.

Note that technically no AVR-LibC based project complies
with MISRA due to rule #3.6 that says any library used,
including the GCC libraries, must be complaint with MISRA [IEC 61508
Part 3].  I tend to follow the MISRA Guidelines anyway as it shows an
attempt at Due Diligence.


-- 
http://www.wearablesmartsensors.com/
http://www.softwaresafety.net/
http://www.designer-iii.com/
http://www.unusualresearch.com/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]