Skip to content
Snippets Groups Projects
Forked from Glasgow Haskell Compiler / GHC
Source project has a limited visibility.
Cheng Shao's avatar
Cheng Shao authored
We have formally dropped i386 windows support (#18487) a long time
ago. The stdcall foreign call convention is only used by i386 windows,
and the legacy logic around it is a significant maintenance burden for
future work that adds arm64 windows support (#24603). Therefore, this
patch removes stdcall support completely from the compiler as well as
the RTS (#24883):

- stdcall is still recognized as a FFI calling convention in Haskell
  syntax. GHC will now unconditionally emit a warning
  (-Wunsupported-calling-conventions) and treat it as ccall.
- Apart from minimum logic to support the parsing and warning logic,
  all other code paths related to stdcall has been completely stripped
  from the compiler.
- ghci only supports FFI_DEFAULT_ABI and ccall convention from now on.
- FFI foreign export adjustor code on all platforms no longer handles
  the stdcall case and only handles ccall from now on.
- The Win32 specific parts of RTS no longer has special code paths for
  stdcall.

This commit is the final nail on the coffin for i386 windows support.
Further commits will perform more housecleaning to strip the legacy
code paths and pave way for future arm64 windows support.
395412e8
History
Name Last commit Last update