-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Labels
Area:FuzzerSpecifically affecting the program mutatorSpecifically affecting the program mutatorType:EnhancementNew feature or requestNew feature or request
Description
Presently, memory orders are a static enumeration. However, it transpires that we miss a lot of Clang codegen code by not having statically unknowable memory orders!
As such, we should be able to have arbitrary memory order expressions. I suspect these would be most easily implemented by:
- making the memory order enum a variant of expression;
- adding convenience constructors if necesssary;
- using variant accessors to grab memory orders when we need to;
- eventually replacing the memory order generators with new ones that can layer in complex expressions that terminate with specific wanted memory orders.
I'm unsure at which point this sort of exotic memory order work becomes undefined behaviour; maybe I'll need to spend some winter nights with a draft copy of C11.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
Area:FuzzerSpecifically affecting the program mutatorSpecifically affecting the program mutatorType:EnhancementNew feature or requestNew feature or request