GCC Newspaper
JULY 29, 2026
Date
/
Architectures
Components
Topics
News & Policy
aarch64

AArch64: Correctly warn about deprecated TME feature.

AArch64 compiler correctly warns about the deprecated +tme feature when used in target attributes or pragmas.

This commit refines the handling of deprecation warnings for the Transactional Memory Extensions (TME) on AArch64. Instead of relying on string parsing, the compiler now inspects the parsed feature flags from aarch64_parse_extension. This ensures that warnings are correctly issued when +tme is enabled via target attributes or pragmas, addressing issues missed by the previous string-based approach. Command-line handling of +tme remains unchanged.

In Details

On AArch64, Transactional Memory Extensions (TME) are being deprecated. This patch revises the compiler's mechanism for warning about TME usage in target attributes and pragmas. Previously, a string-parsing approach in aarch64_handle_attr_isa_flags was brittle. This change now queries the results of aarch64_parse_extension to determine the presence of TME features, providing a more robust way to detect and warn about its use in attributes/pragmas, aligning with the deprecation status. Command-line usage of TME is handled separately.

For Context
AArch64
The 64-bit ARM architecture, widely used in mobile devices and servers.
TME
Transactional Memory Extensions. A feature providing hardware support for optimistic concurrency control through transactional memory.
Deprecation warning
A compiler message indicating that a feature, function, or API is no longer recommended for use and may be removed in future versions.
Target attribute/pragma
Compiler directives that allow specifying target-specific features or optimizations for a particular code section or compilation unit.
Filed Under: aarch64deprecationwarning