1.4.37. Migration to 7.5.3¶
1.4.37.1. Command-line switch -j¶
The command-line switch -j (for parallel execution) has been unified amongst the
Python-based tools like axivion_ci, axivion_analysis, and the build tools
build_cbp, build_compile_commands, build_cproject, build_ewp,
build_gpj, build_uvproj, and build_uvprojx.
Previously, some tools allowed for -j alone (which means use all cores) and
other tools allowed for -jN where one had to specify the level of parallelization.
Since version 7.5.1 both is possible for all tools, however with a limitation of how
-j can be used due to the way Python argparse works, which came only apparent
now and may lead to a regression since 7.5.1 depending on the way the arguments are
ordered on the command line: You can only use -j (without an integral argument) as
last switch on the command-line or in front of another switch, but not directly in
front of a positional argument like a filename. E.g. the following is invalid usage:
build_compile_commands --exclude "*/generated/*" -j compile_commands.json
build_ewp --config Debug -j project.ewp
build_gpj --make gmake --target main -j project.gpj
build_uvprojx --output_dir_prefix axivion_out -j project.uvprojx
Whereas the following is valid usage:
build_compile_commands --exclude "*/generated/*" compile_commands.json -j
build_ewp -j --config Debug project.ewp
build_gpj --make gmake --target main -j -- project.gpj
build_uvprojx --output_dir_prefix axivion_out -j8 project.uvprojx
1.4.37.2. Stylecheck¶
CertC-STR32, CertC++-STR32, SecureCoding-5.31¶
The scope of the rules has been extended:
they now report more cases where a possibly not-null-terminated string is passed to a library function, by
using results from semantic analysis. This might lead to the reporting of false positives.
The old behavior of the rules, a purely syntactic check of a restricted set of cases, can be restored by
setting their config option use_static_semantic_analysis to false.
CertC-STR34, CertC++-STR34¶
Character constants with a value between 0 and 127, i.e. ASCII characters, are no longer wrongly reported as these values can be safely converted to unsigned characters.