Verified Home

Verified Systems International GmbH

Quality Assurance for Embedded Systems

CCBM 5.8.2 now available (maintenance)

A maintenance release is now available. Consider updating if you are using Version 5.8.1 or older.

Improvements

  1. Display Logic:

    • do NOT mark case/default labels as coding (Mantis-19906)
      but try to identify lines after that correctly
    • added support for anonymous structs / unions (FR #21499)
    • added limited support for compound literals (FR #21500)
      new entry in ccbm-coding-requirements.txt for clarification:
      (!) <23> No compound initializers without simple type cast
  2. Coverage Merge:

    • ccbm_mco --html adds <A NAME... /> anchors for missed lines (for –diff: reached lines); suppress this with --no-anchors Anchors allow RTT-Plugin to navigate to these lines via Outline (FR #19776)
      In-document links to these anchors are also created, new option --anchor-links N allows to configure this (FR#19869)
    • ccbm_mco --analysis accepts MD5:<id> file identification (FR#19584)
      (the md5sum is computed with Unix-style NL line-breaks)
    • asts-ccbm-textual-merge-coverage allows option --no-unreach
      (forwarded to ccbm_mco)

Bugfixes

  1. Preprocessing (ccbm_prep):

    • ensure marker is always first statement in while() body (fixes #19502)
    • #if/#elif may be followed directly by parenthesis better error message when #if/#endif do not match (fixes #20189)
    • do-while processing of do ... while(<expr>)<text>;
      now preserves <text> verbatim (fixes #22468)
  2. Coverage Merge (ccbm_mco):

    • ccbm_mco keeps [un]coding status of CCBM() markers when merging,
      except for preprocessing macros (fixes #19890)
    • ccbm_mco treats un-terminated BEGIN UNREACHABLE blocks
      correctly (in TOTAL) and issues WARNING to user (#19794)
    • ccbm_coverage ignores control flow keywords if they
      occur in comments or non-coding parts (fixes #19844)