This release includes the following enhancements:
Release date: November 26, 2025
Enhanced Unit Testing and Code Coverage
- The GoogleTest unit testing framework is now included in the C/C++test CT distribution. See Unit Testing with GoogleTest.
- The code analysis engine has been enhanced to better support modern C/C++.
MCP Server Extension for AI Agents
C/C++test CT now includes an MCP (Model Context Protocol) Server extension that enables seamless integration between C/C++test CT and AI agents or LLM-based coding assistants (such as GitHub Copilot). This MCP Server can be used within any LLM-enabled development environment that supports MCP integration, including VS Code and others. With this extension, an AI agent can interact directly with C/C++test CT, delivering context-aware guidance, analysis, and automation.
This feature allows you to use an AI coding assistant to:
- Retrieve line coverage information for analyzed code.
- Provide guidance and instructions for applying coverage suppressions to specific code sections.
- Access information from the product user guide.
For details, see Configuring the MCP Server Extension for AI Agents.
Support for Compilers
The following compilers are now supported:
| Compiler Name | Compiler Identifier |
|---|---|
Hexagon Clang Compiler v. 19 | hexagon-clang_19 |
QNX GCC 12.x (ARM64) | qccarm_12-64 |
TI ARM Clang Compiler 3.2 | tiarmclang_3_2 |
See Compilers.
Additional Updates
- Java JRE 17-21 is now required.
Deprecated and Removed Support
Compilers to Be Deprecated
Support for the following compilers will be deprecated in future releases:
- ARM Compiler 6.14
- Clang C/C++ Compiler v 12.0 (x86_64)
- Clang C/C++ Compiler v 15.0 (x86_64)
- GNU GCC 8.x (x86, x86_64, arm/aarch32, aarch64/arm64)
- GNU GCC 9.x (x86, x86_64, arm/aarch32, aarch64/arm64)
- Hexagon Clang Compiler v. 8.6.x
Deprecated Compilers
Support for the following compilers is deprecated and will be removed in future releases:
- GNU GCC 7.x
- GNU GCC 7.x (x86_64)
- TI ARM C/C++ Compiler v18.1
TI ARM C/C++ Compiler GNU GCC 7.x
- Wind River Clang 8.0.x
Removed Support for Compilers
The following compilers are no longer supported:
- ARM Compiler 5.0
- ARM Compiler 6.9
- Clang C/C++ Compiler v 10.0 (x86_64)
- GNU GCC 6.x
- GNU GCC 6.x (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)
Resolved Bugs and FRs
Bug/FR ID | Description |
|---|---|
CPP-55820 | [compiler] Support for Hexagon 19 |
CPP-59036 | [engine] error: more than one instance of overloaded function |
CPP-59050 | [compiler] Support for QNX GCC 12.x |
CPP-59175 | [engine] static assertion failed with "abi not configured" |
CPP-59201 | [engine] "static assertion failed" during instrumentation |
CPP-59574 | [engine] error: no instance of constructor "google::protobuf::internal::InternalMetadata::Container<google::protobuf::UnknownFieldSet>::Container" matches the argument list |
CPP-59607 | [engine] static analysis fails with invalid type conversion |
CPP-59614 | [engine] cwc exit code 3: "expression must have a constant value" with Hexagon |
CPP-59616 | [engine] error: a class or namespace qualified name is required |
CPP-59634 | [engine] Parse error for generated Google Protocol Buffers header |
CPP-59638 | [engine] error: the default constructor of "std::basic_format_arg<std::format_context>" cannot be referenced |
CPP-59684 | [coverage] Improve coverage instrumentation for C99 _Generic selection |
CPP-59695 | [engine] Parse error: function cannot be referenced - it is a deleted function |
CPP-59742 | [engine] error: the default constructor of "std::basic_format_arg<std::format_context>" cannot be referenced |
CPP-59754 | [engine] Class template is not compatible with template template parameter |
CPP-59755 | [engine] Program received signal 11 when instrumenting with cpptestcc |
CPP-59761 | [engine] Instrumentation fails once all template instantiations are provided |
CPP-59777 | [engine] parser performance problem during SCA |
CPP-59789 | [coverage] Inconsistent coverage statistics (HTML) after merging coverage from multiple runs with path mapping |
CPP-59801 | [engine] invalid alignment value specified by attribute - aligned(0x100000) |
CPP-59809 | [engine] Instrumentation compilation error: error C2653: ... is not a class or namespace name |
CPP-60149 | [engine] error: no instance of "toDicom" matches the argument list |
CPP-60188 | [compiler] Add/improve support for -Wc/-Wp option prefixes for QCC compiler |
CPP-60191 | [engine] error: more than one instance of overloaded function |
CPP-60200 | [engine] Missing support for __is_bitwise_cloneable |
CPP-60207 | [engine] error: class type not suitable for use with designators |
CPP-60212 | [engine] Instrumentation [xharness] crashes with signal 11 |
CPP-60242 | [compiler] Dependencies for temporary files injected by cpptestcc into QNX qcc build |
CPP-60282 | [engine] instrumentation compilation error: conversion from AbstractProperty to char is ambiguous |
CPP-60338 | [engine] Class has no member "space_ship" parse errors |
CPP-60374 | [engine] internal error: assertion failed at: "lower_name.c", line 2703 in mangled_encoding_for_template_parameter |
CPP-60391 | [engine] parse error: no instance of constructor... |
CPP-60400 | [engine] Instrumentation compilation error: the value of '__CPTR_cui_4079667399_95697_12962959' is not usable in a constant expression |
CPP-60402 | [engine] error: constexpr constructor must initialize direct base class |
CPP-60410 | [compiler] qccarm_8-64 compiler still uses -lang-c even though it is deprecated |
CPP-60476 | [engine] Segmentation fault when running google tests with cpptestcc |
CPP-60497 | [coverage] error generating HTML report for .cov file with no function data |
CPP-60520 | [engine] EDG parser crash |
CPP-60548 | [engine] Parse error - incompatible declaration |
CPP-60557 | [engine] internal error: assertion failed at: "lower_name.c", line 2703 in mangled_encoding_for_template_parameter |
CPP-60564 | [engine] error: function cannot be referenced – it is a deleted function |
CPP-60668 | [coverage] Improve collecting coverage for C++ templates with std::enable_if in template parameters |
CPP-60672 | [engine] error: declaration is incompatible |
CPP-60790 | [engine] error: a constexpr function cannot have a nonliteral return type |
CPP-60842 | [coverage] Coverage not collected for lambda used to initialize field directly in class |