Martin Storsjö
Martin Storsjö
With "Windows version of Clang", I presume you mean Clang running in MSVC mode (not a windows build of e.g. llvm-mingw). If we split up the steps so we get...
> > > in MSVC mode, the symbol reference to f doesn't seem to include the module name hello > > > > > > This should be a deficiency...
> > won't this mean that there's an Itanium ABI mismatch between these two compilers? > > Yes, it is a ABI issue. But I have no idea whether Clang...
> Ok, there is a PR [itanium-cxx-abi/cxx-abi#144](https://github.com/itanium-cxx-abi/cxx-abi/pull/144) for C++20 Modules. The related part is https://html-preview.github.io/?url=https://github.com/urnathan/cxx-abi/blob/main/abi.html#mangling-module-initializer. Ok, so this bit I guess: > It is also permitted to omit calls to...
> > But how does this spec mean to handle the case when one object decides to omit the module-initializer definition, while the other one decides to not omit making...
I think I know what the issue is here... First lld runs through all the input object files and input static libraries, and pulls in as many object files from...
> Is this issue also happening when you use `-flto=full`? I'm asking because the last time I compiled with `-flto=full -fstack-protector-strong` it worked fine. > > Edit: I tested again...
Can you give a proper way of reproducing exactly what you are trying to do and what you expect to see as result?
So an x86_64 build of llvm-mingw, invoking `i686-w64-mingw32-clang` (or -gcc)?
It looks like this is intentional behaviour: https://github.com/llvm/llvm-project/commit/5828d7b93606087875c61ed2fdb816e03c2a18ce