Date: Fri, 30 May 2025 11:56:48 -0300
On Friday, 30 May 2025 11:49:08 Brasilia Standard Time Frederick Virchanza
Gotham via Std-Proposals wrote:
> The best thing would be just to ask Microsoft to add this feature to their
> "cl.exe" program. It wouldn't be a one-way road -- Microsoft executables
> would also be able to link successfully with GNU g++ DLL's, or Embarcadero
> DLL's. If we got everyone on board with it then it would make sense to
> standardise it with classes and functions like std::abi and std::abi_wrap.
>
> I've emailed guys in Microsoft before but I never get a reply, not even
> that Raymond Chen guy who has a decent blog.
They're quite busy and they don't know you, so that's not unexpected. In any
case, my experience with getting changes to the Microsoft compiler is that it
takes years for something easy, like overflow-checking addition and
multiplications (which they then added as a different API than everyone else,
so I ignore it exists and keep producing worse code for MSVC).
I also suspect you're massively underestimating the complexity of what you're
asking. This is not a simple thing like an intrinsic to do overflow checking,
which is easy to unit-test with effectively 100% coverage. ABIs are complex and
permeate all levels of the compiler. I suggest you first make this work with
one compiler to prove the point (which will likely be Clang), then convince
one more to adopt the same extension syntax.
You may also run into a non-technical blockage: Microsoft may not want to be
compatible with the IA-64 C++ ABI on Windows for business reasons.
Gotham via Std-Proposals wrote:
> The best thing would be just to ask Microsoft to add this feature to their
> "cl.exe" program. It wouldn't be a one-way road -- Microsoft executables
> would also be able to link successfully with GNU g++ DLL's, or Embarcadero
> DLL's. If we got everyone on board with it then it would make sense to
> standardise it with classes and functions like std::abi and std::abi_wrap.
>
> I've emailed guys in Microsoft before but I never get a reply, not even
> that Raymond Chen guy who has a decent blog.
They're quite busy and they don't know you, so that's not unexpected. In any
case, my experience with getting changes to the Microsoft compiler is that it
takes years for something easy, like overflow-checking addition and
multiplications (which they then added as a different API than everyone else,
so I ignore it exists and keep producing worse code for MSVC).
I also suspect you're massively underestimating the complexity of what you're
asking. This is not a simple thing like an intrinsic to do overflow checking,
which is easy to unit-test with effectively 100% coverage. ABIs are complex and
permeate all levels of the compiler. I suggest you first make this work with
one compiler to prove the point (which will likely be Clang), then convince
one more to adopt the same extension syntax.
You may also run into a non-technical blockage: Microsoft may not want to be
compatible with the IA-64 C++ ABI on Windows for business reasons.
-- Thiago Macieira - thiago (AT) macieira.info - thiago (AT) kde.org Principal Engineer - Intel Platform & System Engineering
Received on 2025-05-30 14:56:54