# Standard library types.
type:std::*

# The stdext namespace contains Microsoft standard library extensions.
type:stdext::*

# Types with a uuid attribute, i.e. COM types.
type:attr:uuid

# STL allocators (T *allocator<T *>::allocate(size_type, const void*)).
# The type signature mandates a cast from uninitialized void* to T*.
# size_type can either be unsigned int (j) or unsigned long (m).
fun:*8allocateEjPKv
fun:*8allocateEmPKv

# std::get_temporary_buffer, likewise (libstdc++, libc++).
fun:_ZSt20get_temporary_buffer*
fun:_ZNSt3__120get_temporary_buffer*

# STL address-of magic (libstdc++, libc++).
fun:*__addressof*
fun:_ZNSt3__19addressof*

# Windows C++ stdlib headers that contain bad unrelated casts.
src:*xmemory0
src:*xstddef

# std::_Sp_counted_ptr_inplace::_Sp_counted_ptr_inplace() (libstdc++).
# This ctor is used by std::make_shared and needs to cast to uninitialized T*
# in order to call std::allocator_traits<T>::construct.
fun:_ZNSt23_Sp_counted_ptr_inplace*
