News

  • 2026/04/27
  • NEWS

Product Version Update Information (QTE)

Thank you for using Gaio Technology products.
The following Product Update has taken place.

Update Information

[Product Name] Quality Town for Embedded grade
[Product Version] R3.2.0.0
[Release Date] April 27, 2026

Update Contents

Function Additions/Improvements

• Integration with New License Management System
– Added support for "License Management Software V3.0 (CodeMeter Edition)".
For information on the license management software, please refer to the following "[Important] Notice Regarding GAIO Product License Management System Change"
[Important] Notice Regarding GAIO Product License Management System Change

*Reference: QTE Manual
[6.3 CodeMeter License Configuration]

•AI Agent Integration for QTE Test Result Achievement
– Added a telemetry export feature that outputs coverage achievement data formatted specifically for AI consumption. By utilizing these dedicated files,users can integrate with external AI Agents to efficiently generate Google Test driver source code tailored to meet specific coverage targets. Sample AI prompts for leveraging these exported files are now provided.
*Reference: QTE Manual
[15.4 AI Agent Integration]

・Resolution of Restrictions in Source Code Level Coverage Display
– Removed the restriction where the coverage display for template functions was incorrectly shown as "N/A" in the source code level coverage display feature when using Functional Safety Coverage Mode.
*Reference: QTE Manual
[13.1.3.1 Templates]
[13.2.1.2 Unsupported Items Where Coverage Measurement is Not Performed Even if Tests are Executed]
[13.2.2.1 Unsupported Items Where Coverage Measurement is Not Performed Even if Tests are Executed]
[13.2.4.1 Unsupported Items Where Coverage Measurement is Not Performed Even if Tests are Executed]


・Removed Restriction on Coverage Reports for Template Member Functions Defined Multiple Times with the Same Name on a Single Source Line within a Template Class
– When using Functional Safety Coverage Mode, generating a coverage report for the source code in the example below using the source code level coverage display feature sometimes resulted in errors/warnings or incorrect coverage results. This restriction has been removed, and the correct coverage report is now displayed. Additionally, the CLI option limitation-syntax-type2-handling-mode, which specified the behavior (stop with error or output warning) when detecting source code falling under this restriction, has been removed. Even if this option is already set in the existing environment's workspace.json,there is no need to delete the setting. The detection logic associated with this option will no longer operate, but coverage report generation will be performed normally.

【Code Example】:
// Template member functions defined multiple times with the same name on a single source line within a template class
 template <typename T> class FnG {
  public:
  // Target functions: tFunc
  template <typename U> T tFunc(U a) { <process> } template
  <typename U> T tFunc(U a, int b) { <process> }
 };


・Coverage Support for constexpr Functions
– When using Functional Safety Coverage Mode, it is now possible o acquire coverage measurement if a function qualified with constexpr operates at runtime.
If the function is evaluated as a constant at compile-time, coverage during constant evaluation cannot be measured. In relation to this feature, the following option has been added:
The option constexpr-function-coverage-mode allows you to toggle whether "functions qualified with constexpr" are targeted for coverage measurement in source code like the following.
"0": Excluded from coverage measurement.
"1": Included in coverage measurement.

【Code Example】:
 // Function qualified with constexpr
 constexpr int ConstexprFunc( int a ){
 if( a > 0 ){
  return a * 100;
  }
 }
// Runtime evaluation
 int Constexpr_test_Func( int a ){
  return ConstexprFunc( a );
 }

*Reference: QTE Manual
[9.6.3 Build Settings When Targeting Functions Qualified with constexpr(C++11) for Coverage Measurement]
[14.1.1.1 Functions Qualified with constexpr(C++11)]


・Build Infrastructure Improvements
– Refined the QTE CMake configuration package to ensure that standard builds (non-QTE builds) remain unaffected even when QTE-specific settings are present in the environment.
*Reference: QTE Manual
[9.6 Build System Configuration Procedure]


・Usability Improvements for QTE Test Result Achievement
1)When using QTE Test Result Achievement, a new option --vsc has been added to the clean command so that necessary metadata for QTE Test Result Achievement remains preserved.
*Reference: QTE Manual
[9.2.1 Command List

2)Added "Check All" and "Uncheck All" functionality for source file selection in the initial setup screen.
3)Resolved the limitation preventing the use of the "Coverage Result Refresh" feature when tests are executed via proprietary commands or scripts. Improved to allow arbitrary configuration of the invoked commands and scripts directly from the initial setup screen.
*Reference: QTE Manual
[10.2.6 Editing the Coverage Result Update Script File]

4)Improved workflow to allow editing of the Google Test test driver in VSCode while the "Coverage Result Refresh" feature is processing.
5)Improved the content of error messages regarding data inconsistency in a multi-window (multiple VSCode instances) environment.
*Reference: QTE Manual
[11.2.3.2 List of Error Messages for QTE Test Result Achievement]

6)Improved to output a specific status message stating 100% on the Logical Combination Table display screen when a logical expression with 100% Branch coverage or MC/DC is selected.
*Reference: QTE Manual
[10.6.2 Display Logical Combination Table]


・Usability Improvements for QTE Test Result Achievement
– When using Functional Safety Coverage Mode, the prepare command would sometimes fail and stop for source code containing friend declarations defined concurrently with function definitions inside template classes (like the example below). This restriction has been resolved, and errors will no longer occur from this version.

【Code Example】:
inline namespace INS {
  int data1 = 1;
}
template <typename T>
class CL {
 // Target part: A function is defined concurrently with a friend declaration inside a template class
 friend void data1( CL<T> &obj ){}
};
int main(void){
 CL<int> obj;
 return 0;
}

Limitations

•Added Restriction When Using Clang-Specific Syntax _ExtInt(n) in Specific Constructs
– When using Functional Safety Coverage Mode, if the Clang-specific syntax _ExtInt(n) is utilized in specific constructs, the following two issues may occur:
1) In C language source files, if a variable of type _ExtInt(n) is used within a switch statement, an incorrect coverage result may be output to the test report.
(See [Code Example 1])

2) If Branch coverage target statements (other than switch) and MC/DC target expressions rely exclusively on variables of type _ExtInt(n), an error will occur during the build process.
(See [Code Example 2])

– The prepare command is now equipped with logic to detect these targeted C/C++ constructs within the source code and display errors/warnings during execution.

In relation to this feature, the following option has been added:
The option limitation-syntax-clang-extint-handling-mode allows you to toggle the behavior when the Clang-specific syntax _ExtInt(n) is detected in the source/header files targeted for coverage measurement.
"1": Display an error and stop.
"0": Display a warning and continue processing.
*Reference: QTE Manual
[13.3.1.2 clang-Specific Syntax _ExtInt(n):_ExtInt]
[13.3.2 Option to Toggle Behavior (Stop/Continue) When Applicable Syntax is Detected]

【Code Example 1】:
 void f1( _ExtInt(65) a ){
   // Using a variable of type _ExtInt(n) in a switch statement in a C language source file
  switch( a ){
  case 0:
   break;
  }
 }

【Code Example 2】:
  void f2( _ExtInt(65) a ){
   // Branch coverage target statements other than Switch and
   // MC/DC target expressions use only variables of type
  _ExtInt(n)
  if ( a ){
   a++;
  }
 }


•Added Restriction on Specific Syntax of Inline Assembly
– When using Functional Safety Coverage Mode, an error will occur when executing the prepare command if the inline assembly syntax matches any of the following conditions:
1) asm volatile in the global scope
2) asm const
3) asm volatile volatile (specifying volatile multiple times)
As a workaround, it is necessary to modify the source code. Please refer to the QTE manual for the modification method.
*Reference: QTE Manual
[13.1.1.4 Inline Assembly/Global asm volatile/asm const/asm volatile volatile]

【Code Example】:
// 1) asm volatile in the global scope
asm volatile("nop")

void f1( void ) {
 int x = 10;
 int y;
 // 2) asm const
 asm const ("addl $10, %0" : "=r" (y) : "0" (x) );
}
void f2( void ){
 int x = 10;
 int y;
 // 3) asm volatile volatile (specifying volatile multiple times)
 asm volatile volatile ("addl $10, %0" : "=r" (y) : "0" (x) );
}




Changes to Supported Operating Environments

This section lists items related to the QTE operating environment that have been changed in this version.

•Newly Supported:
– The following items have been added to the list of supported QTE operating environments:
Native Clang Compiler: 20.1.8
Google Test: v1.13.0
Native GCC Compiler: 11.4 (including GCC coverage mode support)


•Discontinued Support:
– Support for the following items in the QTE operating environment has ended:
Native GCC Compiler: 7.5
*Reference: [4.3 Supported operating environment]