Skip to content

Commit

Permalink
[Tooling/Inclusion] Add atomic family symbols
Browse files Browse the repository at this point in the history
Differential Revision: https://reviews.llvm.org/D145557
  • Loading branch information
hokein committed Mar 9, 2023
1 parent 404b1b2 commit 22c0ce9
Showing 1 changed file with 101 additions and 0 deletions.
101 changes: 101 additions & 0 deletions clang/lib/Tooling/Inclusions/Stdlib/StdSpecialSymbolMap.inc
Expand Up @@ -242,6 +242,107 @@ SYMBOL(abs, None, <stdlib.h>)
SYMBOL(abs, None, <cmath>)
SYMBOL(abs, None, <math.h>)

// Only add headers for the generic atomic template.
// Ignore variants (std::weak_ptr, std::shared_ptr).
SYMBOL(atomic, std::, <atomic>)
// atomic_* family symbols. <stdatomic.h> is for C compatibility.
SYMBOL(atomic_bool, std::, <atomic>)
SYMBOL(atomic_bool, None, <stdatomic.h>)
SYMBOL(atomic_char, std::, <atomic>)
SYMBOL(atomic_char, None, <stdatomic.h>)
SYMBOL(atomic_char16_t, std::, <atomic>)
SYMBOL(atomic_char16_t, None, <stdatomic.h>)
SYMBOL(atomic_char32_t, std::, <atomic>)
SYMBOL(atomic_char32_t, None, <stdatomic.h>)
SYMBOL(atomic_char8_t, std::, <atomic>)
SYMBOL(atomic_char8_t, None, <stdatomic.h>)
SYMBOL(atomic_int, std::, <atomic>)
SYMBOL(atomic_int, None, <stdatomic.h>)
SYMBOL(atomic_int16_t, std::, <atomic>)
SYMBOL(atomic_int16_t, None, <stdatomic.h>)
SYMBOL(atomic_int32_t, std::, <atomic>)
SYMBOL(atomic_int32_t, None, <stdatomic.h>)
SYMBOL(atomic_int64_t, std::, <atomic>)
SYMBOL(atomic_int64_t, None, <stdatomic.h>)
SYMBOL(atomic_int8_t, std::, <atomic>)
SYMBOL(atomic_int8_t, None, <stdatomic.h>)
SYMBOL(atomic_int_fast16_t, std::, <atomic>)
SYMBOL(atomic_int_fast16_t, None, <stdatomic.h>)
SYMBOL(atomic_int_fast32_t, std::, <atomic>)
SYMBOL(atomic_int_fast32_t, None, <stdatomic.h>)
SYMBOL(atomic_int_fast64_t, std::, <atomic>)
SYMBOL(atomic_int_fast64_t, None, <stdatomic.h>)
SYMBOL(atomic_int_fast8_t, std::, <atomic>)
SYMBOL(atomic_int_fast8_t, None, <stdatomic.h>)
SYMBOL(atomic_int_least16_t, std::, <atomic>)
SYMBOL(atomic_int_least16_t, None, <stdatomic.h>)
SYMBOL(atomic_int_least32_t, std::, <atomic>)
SYMBOL(atomic_int_least32_t, None, <stdatomic.h>)
SYMBOL(atomic_int_least64_t, std::, <atomic>)
SYMBOL(atomic_int_least64_t, None, <stdatomic.h>)
SYMBOL(atomic_int_least8_t, std::, <atomic>)
SYMBOL(atomic_int_least8_t, None, <stdatomic.h>)
SYMBOL(atomic_intmax_t, std::, <atomic>)
SYMBOL(atomic_intmax_t, None, <stdatomic.h>)
SYMBOL(atomic_intptr_t, std::, <atomic>)
SYMBOL(atomic_intptr_t, None, <stdatomic.h>)
SYMBOL(atomic_llong, std::, <atomic>)
SYMBOL(atomic_llong, None, <stdatomic.h>)
SYMBOL(atomic_long, std::, <atomic>)
SYMBOL(atomic_long, None, <stdatomic.h>)
SYMBOL(atomic_ptrdiff_t, std::, <atomic>)
SYMBOL(atomic_ptrdiff_t, None, <stdatomic.h>)
SYMBOL(atomic_schar, std::, <atomic>)
SYMBOL(atomic_schar, None, <stdatomic.h>)
SYMBOL(atomic_short, std::, <atomic>)
SYMBOL(atomic_short, None, <stdatomic.h>)
SYMBOL(atomic_signed_lock_free, std::, <atomic>)
SYMBOL(atomic_signed_lock_free, None, <stdatomic.h>)
SYMBOL(atomic_size_t, std::, <atomic>)
SYMBOL(atomic_size_t, None, <stdatomic.h>)
SYMBOL(atomic_uchar, std::, <atomic>)
SYMBOL(atomic_uchar, None, <stdatomic.h>)
SYMBOL(atomic_uint, std::, <atomic>)
SYMBOL(atomic_uint, None, <stdatomic.h>)
SYMBOL(atomic_uint16_t, std::, <atomic>)
SYMBOL(atomic_uint16_t, None, <stdatomic.h>)
SYMBOL(atomic_uint32_t, std::, <atomic>)
SYMBOL(atomic_uint32_t, None, <stdatomic.h>)
SYMBOL(atomic_uint64_t, std::, <atomic>)
SYMBOL(atomic_uint64_t, None, <stdatomic.h>)
SYMBOL(atomic_uint8_t, std::, <atomic>)
SYMBOL(atomic_uint8_t, None, <stdatomic.h>)
SYMBOL(atomic_uint_fast16_t, std::, <atomic>)
SYMBOL(atomic_uint_fast16_t, None, <stdatomic.h>)
SYMBOL(atomic_uint_fast32_t, std::, <atomic>)
SYMBOL(atomic_uint_fast32_t, None, <stdatomic.h>)
SYMBOL(atomic_uint_fast64_t, std::, <atomic>)
SYMBOL(atomic_uint_fast64_t, None, <stdatomic.h>)
SYMBOL(atomic_uint_fast8_t, std::, <atomic>)
SYMBOL(atomic_uint_fast8_t, None, <stdatomic.h>)
SYMBOL(atomic_uint_least16_t, std::, <atomic>)
SYMBOL(atomic_uint_least16_t, None, <stdatomic.h>)
SYMBOL(atomic_uint_least32_t, std::, <atomic>)
SYMBOL(atomic_uint_least32_t, None, <stdatomic.h>)
SYMBOL(atomic_uint_least64_t, std::, <atomic>)
SYMBOL(atomic_uint_least64_t, None, <stdatomic.h>)
SYMBOL(atomic_uint_least8_t, std::, <atomic>)
SYMBOL(atomic_uint_least8_t, None, <stdatomic.h>)
SYMBOL(atomic_uintmax_t, std::, <atomic>)
SYMBOL(atomic_uintmax_t, None, <stdatomic.h>)
SYMBOL(atomic_uintptr_t, std::, <atomic>)
SYMBOL(atomic_uintptr_t, None, <stdatomic.h>)
SYMBOL(atomic_ullong, std::, <atomic>)
SYMBOL(atomic_ullong, None, <stdatomic.h>)
SYMBOL(atomic_ulong, std::, <atomic>)
SYMBOL(atomic_ulong, None, <stdatomic.h>)
SYMBOL(atomic_unsigned_lock_free, std::, <atomic>)
SYMBOL(atomic_unsigned_lock_free, None, <stdatomic.h>)
SYMBOL(atomic_ushort, std::, <atomic>)
SYMBOL(atomic_ushort, None, <stdatomic.h>)
SYMBOL(atomic_wchar_t, std::, <atomic>)
SYMBOL(atomic_wchar_t, None, <stdatomic.h>)

// std::get has a few variants for different types (tuple, array, pair etc)
// which is tricky to disambiguate without type information.
// Don't set any header for it, as it comes with the type header.
Expand Down

0 comments on commit 22c0ce9

Please sign in to comment.