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 user guide to explain features and suggest resolutions for your issues.
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 |
Resolved Bugs and FRs in 2025.2.2
Bug/FR ID | Description |
|---|---|
CVE-2025-68121 | Critical vulnerability resolved by updating to Go (golang:go) version 1.25.11 |
CVE-2026-27143 | Critical vulnerability resolved by updating to Go (golang:go) version 1.25.11 |
Resolved Bugs and FRs in 2025.2.6
Bug/FR ID | Description |
|---|---|
CVE-2026-8763 | Critical vulnerabilities resolved by upgrading bc-fips to 2.1.3 |
CVE-2026-59638 | Critical vulnerability resolved by upgrading bctls-fips to 2.1.24 |