1.4.63. Migration to 7.0.1

1.4.63.1. Stylecheck

The implementation of MISRA C 2012 rules has been updated to comply with MISRA C 2012 Amendment 2. In particular, rule 21.8. does not check for the system() function anymore. The check has been moved to the new rule 21.21. Furthermore, rules 21.3 and 22.1 now include checks for aligned_alloc and a new rule 1.4 prohibits the use of upcoming C11 language features.

The old behavior can be restored by:

  • disabling the new rules,

  • adding system to the symbols preference of rule 21.8,

  • removing aligned_alloc from the symbols preference of rules 21.3, and

  • removing aligned_alloc from the resources preference of rule 22.1.

Options for individual rules

For MisraC2012-5.4 and 5.5, the default value of the configuration option global_check has been changed to match the semantics as described in the Misra document. This may cause a change in the reported issues and can be reverted by manually configuring global_check = True. Additionally, these rules have been updated to exclude issues similarly to rule 5.6, namely to suppress issues if all secondary positions are within locations excluded by the configuration (especially if all of them are from system headers).

The default of RULES['AutosarC++17_10-A8.4.4'].allow_move_parameters changed to True to better reflect the intention of the rule. If a parameter is designed as an rvalue-reference, the rule by default no longer considers it as in output-parameter.