[RTEMS Project] #4863: Operations evaluation order.

RTEMS trac trac at rtems.org
Thu Feb 23 15:17:54 UTC 2023

#4863: Operations evaluation order.
 Reporter:  Daniel Páscoa  |       Owner:  (none)
     Type:  defect         |      Status:  new
 Priority:  normal         |   Milestone:
Component:  admin          |     Version:  6
 Severity:  normal         |  Resolution:
 Keywords:  qualification  |  Blocked By:
 Blocking:                 |

Comment (by Joel Sherrill):

 The code would be better written avoiding the use of compound expressions
 which will ease the testing when moving to higher design assurance levels
 which require MCDC style analysis. I would recommend trying to rewrite
 code to avoid compound expressions. This effectively can reduce testing to
 simpler decision/branch coverage. Here's my recommendation which also adds
 the braces which I am surprised didn't get flagged:

   if ( !the_api ) {
     return false;

   if ( the_api > OBJECTS_APIS_LAST )
     return false;

   return true;

 FWIW I don't think the code as written was hard to read or confusing. I
 wouldn't have changed based solely on that report. The rules of evaluation
 in C are clear enough that anyone confused by this shouldn't be touching
 this code anyway.

Ticket URL: <http://devel.rtems.org/ticket/4863#comment:2>
RTEMS Project <http://www.rtems.org/>
RTEMS Project

More information about the bugs mailing list