The builtins __sync_{bool,val}_compare_and_swap() were known to sparse but the type of the arguments were not checked, and more importantly, the return type was always 'int'. This series adds real support for these polymorphic builtins. Luc Van Oostenryck (3): add testcases for __sync_{bool,val}_compare_and_swap() export evaluate_arguments() add builtin support for __sync_{bool,val}_compare_and_swap() builtin.c | 60 +++++++++++++++++++++++++++++++++-- evaluate.c | 7 ++-- evaluate.h | 7 ++++ validation/builtin-sync-cas.c | 25 +++++++++++++++ 4 files changed, 93 insertions(+), 6 deletions(-) create mode 100644 validation/builtin-sync-cas.c base-commit: e1578773182e8f69c3a0cd8add8dfbe7561a8240 -- 2.28.0