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

aarch64: Ensure NEON builtins are C++14 compatible

Modifies nested namespace usage in AArch64 NEON builtins to be compatible with C++14 standards.

This commit addresses recent changes in the AArch64 NEON builtins that introduced nested namespace definitions requiring C++17 or later. Since GCC is expected to be buildable with C++14 compilers (like GCC 5.4), these changes caused pedantic warnings. The fix modifies the nested namespace declarations in relevant header files (aarch64-neon-builtins-base.h, aarch64-neon-builtins-shapes.h) and the source file (aarch64-neon-builtins-shapes.cc) to use the C++14 compatible syntax namespace aarch64_acle { namespace functions { ... } } instead of the C++17 namespace aarch64_acle::functions { ... }.

In Details

The AArch64 NEON builtins headers and sources were updated to use C++17-style nested namespaces (e.g., namespace aarch64_acle::functions { ... }). This caused build failures with C++14 compilers, as required for GCC's bootstrapping. The patch reverts these specific instances to use the C++14 compatible syntax of nested namespace declarations (e.g., namespace aarch64_acle { namespace functions { ... } }), aligning the code with the project's build requirements.

For Context
aarch64
A 64-bit ARM architecture, commonly used in mobile devices, servers, and embedded systems.
NEON
A widely adopted advanced SIMD (Single Instruction, Multiple Data) instruction set extension found in ARM processors. It is used for accelerating media and signal processing applications.
builtins
Functions or operations that are recognized and implemented directly by the compiler, often mapping to specific hardware instructions for performance. NEON builtins provide access to NEON SIMD instructions from C/C++ code.
namespace
A declarative region that provides a scope to the identifiers (names of types, functions, variables, etc.) inside it. Namespaces are used to organize code and prevent name collisions.
C++14
An ISO C++ standard released in 2014, offering various language and library enhancements over C++11.
C++17
An ISO C++ standard released in 2017, introducing further features and improvements to the language.
Filed Under: aarch64buildc++compiler