c4-project / c4f

The C4 Concurrent C Fuzzer
MIT License
13 stars 1 forks source link

Allow disabling or weighting of consume memory order #198

Open MattWindsor91 opened 4 years ago

MattWindsor91 commented 4 years ago

The fuzzer currently occasionally generates mem_order_consume as a memory order. While having this memory order available may be useful when testing exotic compiler set-ups, in practice it is usually indistinguishable from mem_order_acquire, and causes compiler failures with old versions of GCC that mistakenly disallowed it in places the standard permits it.

This issue tracks the general issue of making it so that this memory order can be blocked from generation. My feeling as to implementation is one of several fixes: