@@ -96,49 +96,46 @@ bitflags::bitflags! {
96
96
/// `#[cold]`: a hint to LLVM that this function, when called, is never on
97
97
/// the hot path.
98
98
const COLD = 1 << 0 ;
99
- /// `#[rustc_allocator]`: a hint to LLVM that the pointer returned from this
100
- /// function is never null and the function has no side effects other than allocating.
101
- const ALLOCATOR = 1 << 1 ;
102
- /// An indicator that function will never unwind. Will become obsolete
103
- /// once C-unwind is fully stabilized.
104
- const NEVER_UNWIND = 1 << 3 ;
99
+ /// `#[rustc_nounwind]`: An indicator that function will never unwind.
100
+ const NEVER_UNWIND = 1 << 1 ;
105
101
/// `#[naked]`: an indicator to LLVM that no function prologue/epilogue
106
102
/// should be generated.
107
- const NAKED = 1 << 4 ;
103
+ const NAKED = 1 << 2 ;
108
104
/// `#[no_mangle]`: an indicator that the function's name should be the same
109
105
/// as its symbol.
110
- const NO_MANGLE = 1 << 5 ;
106
+ const NO_MANGLE = 1 << 3 ;
111
107
/// `#[rustc_std_internal_symbol]`: an indicator that this symbol is a
112
108
/// "weird symbol" for the standard library in that it has slightly
113
109
/// different linkage, visibility, and reachability rules.
114
- const RUSTC_STD_INTERNAL_SYMBOL = 1 << 6 ;
110
+ const RUSTC_STD_INTERNAL_SYMBOL = 1 << 4 ;
115
111
/// `#[thread_local]`: indicates a static is actually a thread local
116
112
/// piece of memory
117
- const THREAD_LOCAL = 1 << 8 ;
118
- /// `#[used]`: indicates that LLVM can't eliminate this function (but the
113
+ const THREAD_LOCAL = 1 << 5 ;
114
+ /// `#[used(compiler) ]`: indicates that LLVM can't eliminate this function (but the
119
115
/// linker can!).
120
- const USED = 1 << 9 ;
116
+ const USED_COMPILER = 1 << 6 ;
117
+ /// `#[used(linker)]`:
118
+ /// indicates that neither LLVM nor the linker will eliminate this function.
119
+ const USED_LINKER = 1 << 7 ;
121
120
/// `#[track_caller]`: allow access to the caller location
122
- const TRACK_CALLER = 1 << 10 ;
121
+ const TRACK_CALLER = 1 << 8 ;
123
122
/// #[ffi_pure]: applies clang's `pure` attribute to a foreign function
124
123
/// declaration.
125
- const FFI_PURE = 1 << 11 ;
124
+ const FFI_PURE = 1 << 9 ;
126
125
/// #[ffi_const]: applies clang's `const` attribute to a foreign function
127
126
/// declaration.
128
- const FFI_CONST = 1 << 12 ;
129
- // (Bit 13 was used for `#[cmse_nonsecure_entry]`, but is now unused.)
130
- // (Bit 14 was used for `#[coverage(off)]`, but is now unused.)
131
- /// `#[used(linker)]`:
132
- /// indicates that neither LLVM nor the linker will eliminate this function.
133
- const USED_LINKER = 1 << 15 ;
127
+ const FFI_CONST = 1 << 10 ;
128
+ /// `#[rustc_allocator]`: a hint to LLVM that the pointer returned from this
129
+ /// function is never null and the function has no side effects other than allocating.
130
+ const ALLOCATOR = 1 << 11 ;
134
131
/// `#[rustc_deallocator]`: a hint to LLVM that the function only deallocates memory.
135
- const DEALLOCATOR = 1 << 16 ;
132
+ const DEALLOCATOR = 1 << 12 ;
136
133
/// `#[rustc_reallocator]`: a hint to LLVM that the function only reallocates memory.
137
- const REALLOCATOR = 1 << 17 ;
134
+ const REALLOCATOR = 1 << 13 ;
138
135
/// `#[rustc_allocator_zeroed]`: a hint to LLVM that the function only allocates zeroed memory.
139
- const ALLOCATOR_ZEROED = 1 << 18 ;
136
+ const ALLOCATOR_ZEROED = 1 << 14 ;
140
137
/// `#[no_builtins]`: indicates that disable implicit builtin knowledge of functions for the function.
141
- const NO_BUILTINS = 1 << 19 ;
138
+ const NO_BUILTINS = 1 << 15 ;
142
139
}
143
140
}
144
141
rustc_data_structures:: external_bitflags_debug! { CodegenFnAttrFlags }
0 commit comments