[PATCH 00/12] fix and complete the evaluation of atomic builtins

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Sparse knew about the __sync_*() builtin functions but without real
type checking and nothing about the more commonly used __atomic_*().

This series fixes by adding the full type evaluation for both sets.


Luc Van Oostenryck (12):
  builtin: add generic .args method
  builtin: add builtin type for volatile void *
  builtin: make eval_sync_compare_and_swap() more generic
  builtin: evaluate __sync_*_fetch*()
  builtin: fix evaluation of __sync_lock_release
  builtin: __sync_synchronize() too is variadic
  builtin: add predefines for __ATOMIC_RELAXED & friends
  builtin: add support for __atomic_add_fetch(), ...
  builtin: add support for others generic atomic builtins
  builtin: add builtin type: [volatile] pointer to bool
  builtin: add support for __atomic_clear()
  builtin: add support for remaining atomic builtins

 builtin.c                         | 112 +++++++++++++++++++++---------
 predefine.c                       |   7 ++
 symbol.c                          |   6 ++
 symbol.h                          |   2 +
 validation/builtin-atomic-clear.c |  15 ++++
 validation/builtin-sync-fetch.c   |  24 +++++++
 6 files changed, 135 insertions(+), 31 deletions(-)
 create mode 100644 validation/builtin-atomic-clear.c
 create mode 100644 validation/builtin-sync-fetch.c


base-commit: 5192dc1ff23dae8644480a89ada8ff420ebb674a
-- 
2.28.0




[Index of Archives]     [Newbies FAQ]     [LKML]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Trinity Fuzzer Tool]

  Powered by Linux