A maintenance release is now available.
Consider updating if you are using Version 5.4.2 or older.
Improvements
-
Documentation (tool help):
- ccbm_mco: –help lists the syntax to mark unreachable code with
-
Robustness:
- (concurrency:) improved locking mechanism to deal with racing condition (see rt-tester: #9379)
-
Processing:
-
treat lines containing only “} else {” as non-coding, since it is
hard to argue what else they could be marked with; note that the
statements before/after will give more precise information
(implements #8799)
-
added forward propagation from ’else’ and ‘case’ lines;
look-ahead will only go to the next CCBM marker; if a condition
statement (like ‘if’, ‘while’, ‘for’, …) is found before that,
it will return with “don’t know”; also, look-ahead will stop if
nesting level decreases (’}’) (implements #8635 and #9193)
-
activate check for statements after break (also without
–show-warnings); (implements #10792)
-
add parsing of C99 syntax struct_t v = { : }; (implements #8693)
Bugfixes
-
Instrumentation (asts-ccbm-prepare-file / ccbm_prep ):
- allow final line with C++ comment that lacks line termination (fixes PR#10069)
- added reset to “outside function” if brace-level drops to 0 (fixes PR#9227)
- activate scan for ‘switch without default’ (fixes PR #10791)