|
native 0.0.1
Vectors, masks and wide register packs for C++26
|
Compiler attributes for host code, with shader-safe shared modifiers. More...
Go to the source code of this file.
Macros | |
| #define | native_has_attribute(__x) |
| __has_attribute(x) | |
| #define | native_diagnose_if(condition, message) |
| Reject a call when Clang can prove that its arguments violate a precondition. | |
| #define | native_has_declspec_attribute(__x) |
| portable __has_declspec_attribute(__x) | |
| #define | native_const |
| [[const]] is not const | |
| #define | native_pure |
| [[pure]] | |
| #define | native_lifetimebound |
| [[lifetimebound]] | |
| #define | native_noescape |
| portable __attribute__((noescape)) | |
| #define | native_nodiscard [[nodiscard]] |
| C++17 [[nodiscard]]. | |
| #define | native_inline inline |
| inline [[always_inline]] | |
| #define | native_flatten |
| portable [[flatten]] | |
| #define | native_artificial |
| [[artificial]]. | |
| #define | native_noinline |
| [[noinline]] | |
| #define | native_optnone |
| [[optnone]] | |
| #define | native_weak |
| [[weak]] | |
| #define | native_internal_linkage |
| [[internal_linkage]] | |
| #define | native_preferred_name(__x) |
| portable [[clang::preferred_name(x)]] annotations | |
| #define | native_visibility(...) |
| [[visibility(x)]] | |
| #define | native_exclude_from_explicit_instantiation |
| exclude this member from explicit template instantiation. | |
| #define | native_hidden native_visibility("hidden") native_exclude_from_explicit_instantiation |
| [[visibility("hidden")]] [[exclude_from_explicit_instantiations]] | |
| #define | native_constinit |
| constinit | |
| #define | native_uninitialized |
| [[clang::uninitialized]] | |
| #define | native_reinitializes |
| [[clang::reinitializes]] | |
| #define | native_target(x) |
| this indicates a required feature set for the current multiversioned function. | |
| #define | native_target_clones(...) |
| this indicates a required feature set for the current multiversioned function. | |
| #define | native_hot |
| [[hot]] | |
| #define | native_cold |
| [[cold]] | |
| #define | native_consumable(__x) |
| Each class that uses any typestate annotations must first be marked using this attribute. | |
| #define | native_callable_when(...) |
| #define | native_param_typestate(...) |
| #define | native_return_typestate(...) |
| #define | native_moving native_return_typestate("consumed") native_param_typestate("unconsumed") |
| [[return_typestate("consumed")]] [[param_typestate("unconsumed")]] | |
| #define | native_set_typestate(...) |
| #define | native_test_typestate |
| #define | native_test_typestate(...) |
| #define | native_no_thread_safety_analysis |
| #define | native_lockable |
| #define | native_scoped_lockable |
| #define | native_guarded_var |
| #define | native_pt_guarded_var |
| #define | native_guarded_by(x) |
| #define | native_pt_guarded_by(x) |
| #define | native_acquired_before(...) |
| #define | native_acquired_after(...) |
| #define | native_exclusive_lock_function(...) |
| #define | native_shared_trylock_function(...) |
| #define | native_unlock_function(...) |
| #define | native_lock_returned(__x) |
| #define | native_locks_excluded(...) |
| #define | native_exclusive_locks_required(...) |
| #define | native_shared_locks_required(...) |
| #define | native_acquire_handle(__x) |
| indicates this method returns an acquired resource | |
| #define | native_release_handle(__x) |
| Indicates this argument is an acquired resource that is being released with a tag. | |
| #define | native_use_handle(__x) |
| indicates this argument is a use of a resource, but does not release it. | |
| #define | native_align(x) |
| Align a declaration, including a function entry, when supported. | |
| #define | native_assume_aligned(x) |
Indicates a function returns a pointer with alignment at least x. | |
| #define | native_align_value(x) |
| [[align_value(x)]] | |
| #define | native_malloc |
| [[malloc]] | |
| #define | native_alloc_align(__N) |
| [[alloc_align(N)]] | |
| #define | native_alloc_size(__N) |
| [[alloc_size(x)]] | |
| #define | native_null_terminated_string_arg(x) |
The N th argumnt is a null terminated string. | |
| #define | native_callback(...) |
| [[callback(...)]] | |
| #define | native_noreturn |
| gcc-style [[noreturn]] | |
| #define | native_returns_nonnull |
| [[returns_nonnnull]] | |
| #define | native_nonnull(...) |
| portable [[nonnnull(...)]] | |
| #define | native_Nonnull |
| _Nonnull | |
| #define | native_Nullable |
| _Nullable | |
| #define | native_Null_unspecified |
| _Null_unspecified | |
| #define | native_host |
| portable __host__ for CUDA | |
| #define | native_device |
| portable __device__ for CUDA | |
| #define | native_global |
| portable __global__ for CUDA | |
| #define | native_hd native_host native_device |
| applies both native_host and native_device | |
| #define | native_nonblocking |
| Declares a function does not block. | |
| #define | native_blocking |
| Declares a function potentially blocks. Prevents inference of native_nonblocking. | |
| #define | native_nonallocating |
| Declares a function does not allocate heap memory. | |
| #define | native_allocating |
| Declares a function potentially allocates heap memory. Prevents inference of nonallocating. | |
| #define | native_noalloc(__x) |
| a bool parameterized version of native_nonallocating | |
| #define | native_noblock(__x) |
| a bool parameterized version of native_nonblocking | |
Compiler attributes for host code, with shader-safe shared modifiers.
Definition in file attributes.h.