Skip to content

mpi: emit the anonymous struct typedefs instead of dropping them - #531

Merged
TApplencourt merged 1 commit into
develfrom
mpi-anonymous-structs
Aug 14, 2026
Merged

mpi: emit the anonymous struct typedefs instead of dropping them#531
TApplencourt merged 1 commit into
develfrom
mpi-anonymous-structs

Conversation

@TApplencourt

Copy link
Copy Markdown
Collaborator

MPI_Status and MPI_F08_status are declared as typedefs of an anonymous struct, so the typedef carries the layout and mpi_api.yaml lists no separate struct for them -- it has no structs entries at all. The generator looked every struct typedef up by name in that empty list and skipped whatever it did not find, so both types were silently missing from mpi_library.rb.

hip already guards for this exact shape. Applying the same one-liner: when the target is anonymous, the typedef's own type is the definition.

Adds 16 lines to the generated mpi_library.rb -- the two classes and their by_value typedefs -- and changes nothing else.

MPI_Status and MPI_F08_status are declared as typedefs of an anonymous
struct, so the typedef carries the layout and mpi_api.yaml lists no separate
struct for them -- it has no `structs` entries at all. The generator looked
every struct typedef up by name in that empty list and skipped whatever it
did not find, so both types were silently missing from mpi_library.rb.

hip already guards for this exact shape. Applying the same one-liner: when
the target is anonymous, the typedef's own type is the definition.

Adds 16 lines to the generated mpi_library.rb -- the two classes and their
by_value typedefs -- and changes nothing else.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@TApplencourt
TApplencourt merged commit 30b6668 into devel Aug 14, 2026
27 of 28 checks passed
@TApplencourt
TApplencourt deleted the mpi-anonymous-structs branch August 14, 2026 21:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant