Windows breakage -- again
johan.tibell at gmail.com
Wed Jul 16 22:34:38 UTC 2014
On Thu, Jul 17, 2014 at 12:23 AM, Páli Gábor János <pali.gabor at gmail.com> wrote:
> 2014-07-16 23:56 GMT+02:00 Johan Tibell <johan.tibell at gmail.com>:
>> My reading of the docs was that if the platform doesn't support the needed
>> instructions then GCC will generated a call to e.g. __sync_fetch_and_add_1,
>> where that function *is provided by GCC* as a fallback.
> I guess GCC would expect that somebody else will implement the given
> functionality by an external function.
>> Now I'm wondering if I'm supposed to supply that fallback.
> I was told that you cannot reliably emulate those operations in user
> mode, without loss in performance.
I think loss on performance is OK on i386, but not loss of
correctness. In my mind we have 3 options:
1. Raise a compile time error saying that these operations aren't
supported on your platform (somewhat hard to detect as it depends on
2. Raise a runtime error saying the same (easy to detect, just raise
from the fallback functions).
3. Provide some fallback.
I don't know how to do (3), but it seems like the best option if possible.
More information about the ghc-devs