Skip to content

binding/abi: fix declaration for HAVE_WEAK_ATTRIBUTE#7491

Merged
hzhou merged 2 commits intopmodels:mainfrom
hzhou:2506_abi_weak
Jul 1, 2025
Merged

binding/abi: fix declaration for HAVE_WEAK_ATTRIBUTE#7491
hzhou merged 2 commits intopmodels:mainfrom
hzhou:2506_abi_weak

Conversation

@hzhou
Copy link
Contributor

@hzhou hzhou commented Jun 27, 2025

Pull Request Description

Only handle types need use ABI types (e.g. ABI_Comm) in declarations. For example, MPI_Comm_copy_attr_function should not be replaced as ABI_Comm_copy_attr_function. Clang uses weak attributes.

Fixes #7486

[skip warnings]

Author Checklist

  • Provide Description
    Particularly focus on why, not what. Reference background, issues, test failures, xfail entries, etc.
  • Commits Follow Good Practice
    Commits are self-contained and do not do two things at once.
    Commit message is of the form: module: short description
    Commit message explains what's in the commit.
  • Passes All Tests
    Whitespace checker. Warnings test. Additional tests via comments.
  • Contribution Agreement
    For non-Argonne authors, check contribution agreement.
    If necessary, request an explicit comment from your companies PR approval manager.

Only handle types need use ABI types (e.g. ABI_Comm) in declarations.
For example, MPI_Comm_copy_attr_function should not be replaced as
ABI_Comm_copy_attr_function. Clang uses weak attributes.

Slightly refactor to avoid duplicating setting re_Handle regrex.
@hzhou
Copy link
Contributor Author

hzhou commented Jul 1, 2025

test:mpich/custom
compiler: clang
config: mpi-abi

@hzhou hzhou requested a review from raffenet July 1, 2025 16:11
@hzhou
Copy link
Contributor Author

hzhou commented Jul 1, 2025

test:mpich/ch3/most
test:mpich/ch4/most

@hzhou hzhou merged commit ee33130 into pmodels:main Jul 1, 2025
8 of 9 checks passed
@hzhou hzhou deleted the 2506_abi_weak branch July 1, 2025 19:59
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.

Building the MPI ABI using clang fails due to undefined types

2 participants