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

OpenMP: Fix allocator clause ICE and update documentation

Resolves compiler error for invalid OpenMP allocator clauses and cleans up documentation.

This commit addresses an internal compiler error (ICE) in OpenMP when an invalid or undeclared allocator is used in the ‘allocate’ clause. It also marks trait variables associated with ‘uses_allocators’ as read to prevent spurious ‘unused but set’ warnings. Additionally, documentation in libgomp.texi is updated to reflect C23 support, clarify memory management routines, and fix a broken URL.

In Details

The c-parser.cc and cp/parser.cc now handle error_mark_node for allocator clauses, preventing an ICE. Trait variables for uses_allocators are marked used to avoid false positives in death analysis. Libgomp.texi documentation is updated for uses_allocators C23 support, memory management functions, and nvptx target specifics.

For Context
OpenMP
A standardized API for shared-memory parallel programming. It consists of compiler directives, library routines, and environment variables.
ICE
Internal Compiler Error. A condition where the compiler encounters an unrecoverable state and typically aborts compilation.
allocator clause
An OpenMP clause that specifies a custom memory allocator for data structures or allocations within a parallel construct.
uses_allocators
An OpenMP trait that allows users to specify custom allocators for data transformations and operations, particularly for Unified Shared Memory (USM) in accelerators.
libgomp
GCC's implementation of the OpenMP runtime library.
nvptx
Nvidia Virtual Target Platform. A compiler backend target for Nvidia GPUs.
Filed Under: openmpcompilerdocumentation