Skip to content

Cart

Your cart is empty

AbsInt

Release 26.04 CompCert

New features

  • New function attribute alias for ELF targets, allowing to add weak aliases, i.e. alternate names for functions.
  • New command line options to select data types implementing size_t and ptrdiff_t.
  • Support for the Zicond RISC-V extension.

New built-in functions

  • RISC-V: __builtin_czero_eqz, __builtin_czero_nez
  • AArch64: __builtin_mulhd, __builtin_mulhdu
  • TriCore: __builtin_cadd, __builtin_csub

General improvements

  • Formally verified expansion of __builtin_mull.
  • Faster compilation for programs containing composites with many members.
  • More prudent handling of static names for string literals.
  • Improved register selection for compressed instruction set.
  • Improved diagnostics for duplicated case statements.
  • Improved debug information for global variables.

Backend-specific improvements

  • Improved instruction selection for 64-bit arithmetic for 32-bit backends.
  • Improved conditional move for ARM, RISC-V, and TriCore.
  • Improved value analysis for TriCore.
  • Improved branch relaxation for PowerPC.
  • Improved Valex support for intermixed ARM/Thumb code.
  • Hard-coded ISA selection for RISC-V has been removed from .ini files.

Fixes

  • The expansion of offsets for volatile load and store instructions has been reworked.

RELATED NEWS

Beyond Code Generation: AI-Assisted Embedded Development with Arm CMSIS
Hrutik Champaneri

Beyond Code Generation: AI-Assisted Embedded Development with Arm CMSIS

AI coding assistants can generate a UART driver in seconds. But when the output is garbled or an application unexpectedly enters a HardFault handler, the problem may not be obvious from the sourc[...]

Read more
Configuring QA-MISRA for Real-World Embedded C/C++ Projects
Hrutik Champaneri

Configuring QA-MISRA for Real-World Embedded C/C++ Projects

Getting QA-MISRA running is only the first part of the setup. For an actual embedded project, you will usually need to decide which coding rules should be checked, how compiler-specific code sho[...]

Read more
Setting Up a QA-MISRA Evaluation License and VS Code Extension
Hrutik Champaneri

Setting Up a QA-MISRA Evaluation License and VS Code Extension

The following steps explain how to activate a QA-MISRA evaluation license, configure the local server, install the QA-MISRA extension in Visual Studio Code, and run an example analysis. 1. Requ[...]

Read more
Using QA-MISRA to Bring Coding Standards into C/C++ Development
Hrutik Champaneri

Using QA-MISRA to Bring Coding Standards into C/C++ Development

In embedded and safety-critical software, coding standards help reduce risky language behaviour, improve consistency, and make software easier to review and verify. This is especially important i[...]

Read more
When Breakpoints Aren’t Enough: Debugging Faster with ULINKpro Trace
Hrutik Champaneri

When Breakpoints Aren’t Enough: Debugging Faster with ULINKpro Trace

Most embedded developers are familiar with the usual debugging cycle: set a breakpoint, stop the processor, inspect the problem, make a change, and try again.   That works well until the problem [...]

Read more