Release date: May 28, 2025
Enhanced Code Coverage
- Collecting code coverage from forked processes has been improved.
- A new option to disable C/C++test instrumentation for functions with "#pragma GCC unroll" has been added. See How can I disable C/C++test code instrumentation for functions containing '#pragma GCC unroll' directives?.
- Code analysis and instrumentation engine has been enhanced to better support modern C/C++ syntax.
Support for Compilers
The following compilers are now supported:
Compiler Name | Compiler Identifier |
---|---|
ARM Compiler 6.22 | armclang_6_22 |
Clang C/C++ Compiler v 19.0 (aarch64) | clang_19-aarch64 |
Clang C/C++ Compiler v 19.0 (x86_64) | clang_19-x86_64 |
GNU GCC 12.x (arm/aarch32) | gcc_12-aarch32 |
GNU GCC 13.x (arm/aarch32) | gcc_13-aarch32 |
GNU GCC 14.x (arm/aarch32) | gcc_14-aarch32 |
GNU GCC 14.x (aarch64/arm64) | gcc_14-aarch64 |
GNU GCC 14.x (x86_64) | gcc_14-64 |
See Compilers.
Deprecated and Removed Support
Compilers to Be Deprecated
Support for the following compilers will be deprecated in future releases:
- GNU GCC 7.x
- GNU GCC 7.x (x86_64)
- TI ARM C/C++ Compiler v18.1
- Wind River Clang 8.0.x
Deprecated Compilers
Support for the following compilers is deprecated and will be removed in future releases:
- ARM Compiler 6.9
- Clang C/C++ Compiler v 10.0 (x86_64)
- Hexagon Clang Compiler v. 8.4.x
- QNX GCC 5.x
- QNX GCC 5.x (ARM)
- QNX GCC 5.x (ARM64)
- QNX GCC 5.x (x86-64)
- TI ARM C/C++ Compiler GNU GCC 7.x
Resolved Bugs and FRs
Bug/FR ID | Description |
---|---|
CPP-44863 | [engine] Incorrect emulation of Microsoft two phase lookup |
CPP-57853 | [engine] va_list not reconstructed property for AARCH64 |
CPP-57896 | [engine] Coverage setup problems - conflicting functions (IL tree different for the same function compiled as C and C++) |
CPP-58613 | [engine] cpptesttrace fails with ERROR: ld.so: object '.../libcpptesttrace64.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored. |
CPP-58677 | [engine] error: call to consteval function did not produce a valid constant expression |
CPP-58701 | [engine] error: static assertion failed static_assert(!std::is_move_constructible_v<non_movable_tagged_tuple>); |
CPP-58755 | [engine] conflicting functions were detected when collecting static coverage data |
CPP-58772 | [engine] Instrumented code fail to compile (wrong initializer) |
CPP-58793 | [engine] Permission denied: ./.cpptest/cpptestcc/.../.lock |
CPP-58810 | [bazel] Error with space in include directive |
CPP-58820 | [coverage] Improve collecting code coverage from fork'ed processes |
CPP-58829 | [engine] Parse error: no instance of constructor "InputFilter" matches the argument list |
CPP-58853 | [engine] Undefined Reference using AMX Intrinsics |
CPP-58856 | [engine] Instrumentation compilation error: 'constexpr const char FOO::foo_name 4' is private within this context |
CPP-58952 | [engine] SCA parse error on high-order function/functors |
CPP-58953 | [engine] Creating stub for template method causes multiple definitions, if instantiated only in test case (not in user's code) |
CPP-58955 | [engine] Improve compiler configuration for __builtin_neon extensions for clang |
CPP-59002 | [engine] cpptestcc: error when -O2 is used: undefined reference to `_open_missing_mode' and `_open_too_many_args' |
CPP-59090 | [engine] Instrumentation failure in template - has no member |
CPP-59117 | [engine] error: 'auto' parameter not permitted in this context |
CPP-59118 | [engine] error: 'struct hardware::hamr_sync_interface::LocalDatabase::SampleContainerMetadata' is protected within this context |
CPP-59185 | [compiler] Allow C language mode compiler options to be captured in C++ mode for clang-based compilers |
CPP-59191 | [bazel] cpptest run commands do not support --symlink_prefix Bazel argument |
CPP-59198 | [engine] Add option to disable instrumentation for functions with #pragma GCC unroll |
CPP-59578 | [compiler] Floating-point flags of GHS toolchains do not propagate to linking |
CPP-59594 | [engine] internal error: assertion failed at: "decl_inits.c" 7038 in def_initializer |
CPP-59602 | [engine] Instrumentation error: Program received signal 11 |
CPP-59603 | [engine] Instrumentation Failure: Template-Based Span Constructor Fails with cpptestcc |