[llvm-branch-commits] [clang] [clang][FMV][AArch64] Improve streaming mode compatibility (PR #101007)
Alexandros Lamprineas via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Tue Jul 30 09:10:17 PDT 2024
labrinea wrote:
> We used to diagnose streaming functions that attempted to be multiversioned
but we did not diagnose a streaming caller of a versioned function, and since streaming compatible versions were not diagnosed either it was possible to mix calling conventions between versions:
- Streaming function calls streaming compatible version: https://godbolt.org/z/E6vnWd33x. Note that if bar._sve() was declared non streaming, then the call would be surrounded by smtop/smstart: https://godbolt.org/z/Wdf8oWoxh.
- In a separate translation unit, another version is defined (the default) with a different calling convention (non streaming). With llvm18 this compiles just fine: https://godbolt.org/z/GxzEGr6Yx
- The same as before in llvm trunk yields a semantic error: https://godbolt.org/z/fzbb5hTGb
https://github.com/llvm/llvm-project/pull/101007
More information about the llvm-branch-commits
mailing list