GCC 16.2.0 AMD
41 observed issues; 0 regressions from the previous version, marked below. Most serious first: wrong results, then issues whose legality is settled, then regressions, then how widely an issue fails.
Wrong answers (5)
- GCC OpenACC: structure and member array in one data directive stops at run time Open
- OpenACC tile(32, 32) over loops whose trip counts are not multiples of the tile size computes wrong elements Open
- ftn -h acc: a module scalar in declare create is treated as firstprivate in a serial region (write lost) Open
- GCC Fortran: pointer component entered with alloc comes back with wrong values Open
- defaultmap(to: pointer) on a target region copies the pointer target back to the host Open
Crashes, hangs and errors at run time (9)
- GCC OpenACC: exit data of a pointer-array element target hangs Open
- GCC OpenACC: second parent of a present pointee stops at run time Open
- OpenACC: exit data delete after exit data detach stops with "attach count underflow" Open
- ftn (OpenACC): a module allocatable in declare create faults at HSA_XNACK=1 Open
- mapping a derived type with a length type parameter aborts Open
- GCC: declare mapper with a pointer-member section faults on the GPU Open
- OpenACC: declare create of a Fortran allocatable gives no device copy at the allocate statement Open
- libgomp: with OMP_TARGET_OFFLOAD=mandatory, a target region in an explicit task, a parallel region or a task_reduction taskgroup stops with "device not found" Open
- dynamic dispatch of a type-bound procedure in device code aborts Open
Compiler crashes and hangs (9)
- GCC: compiler crash on map(always) of a pointer-member section Open
- Members of one structure in a target data construct: internal compiler error Open
- The same variable in two map clauses of a target data construct: internal compiler error Open
- declare target module variable with an allocatable component used in a target region: internal compiler error Open
- matmul of allocatable array sections in target teams distribute parallel do simd: internal compiler error Open
- A complex pointer array written in a target region: internal compiler error in the amdgcn offload compiler Open
- GCC: invalid assembly for a bit-counting loop on MI250X Open
- GCC Fortran: compiler crash on root and element pointer components in one map list Open
- GCC: compiler crash on _Float16 data in a target region Open
Legal code refused at compile or link time (18)
- A declare reduction in a module is not found through use association Open
- GCC: map(from:) of a structure with a pointee section rejected Open
- OpenACC 3.3 gang(dim:) and collapse(force:) are rejected (newer than GCC's OpenACC 2.6) Open
- OpenACC device_type clause and routine bind clause are rejected ("Failed to match clause") Open
- OpenACC: a declare link variable used in a routine is rejected ("with 'link' clause used in 'routine' function") Open
- OpenACC: a structure and its member in one data construct are rejected Open
- OpenMP 6.0 features that GCC 16.2 lists as not implemented are rejected (directive-name modifiers, induction, taskgraph clauses, map and defaultmap self/storage, and more) Open
- SELECT TYPE in a device procedure is rejected: the type's vtable is not offloaded Open
- The same array in map and nontemporal clauses of a Fortran target simd construct is rejected Open
- The same variable in two map clauses of one target construct is rejected Open
- gfortran: OpenACC init, set and shutdown directives are not accepted ("Unclassifiable OpenACC directive") Open
- gfortran: an allocatable array in host_data use_device is rejected ("ALLOCATABLE object ... in USE_DEVICE clause") Open
- gfortran: declare mapper is not accepted ("Unclassifiable OpenMP directive") Open
- gfortran: loop bind(thread) or bind(teams) inside parallel or teams with default(none) is rejected ("'i' not specified in enclosing 'parallel'") Open
- target update to(mapper(m): x) and from(mapper(m): x) are rejected: "clause with modifier other than 'iterator' or 'present'" Open
- uses_allocators with allocator traits or a memory space: "sorry, unimplemented" Open
- C array sections with a stride ([lower-bound:length:stride]) are rejected Open
- OpenMP 6.0 requires device_safesync and defaultmap(private) are rejected (not in GCC's implementation status table) Open
Fixed or changed in this version
None.