@@ -96,49 +96,46 @@ bitflags::bitflags! {
9696 /// `#[cold]`: a hint to LLVM that this function, when called, is never on
9797 /// the hot path.
9898 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 ;
105101 /// `#[naked]`: an indicator to LLVM that no function prologue/epilogue
106102 /// should be generated.
107- const NAKED = 1 << 4 ;
103+ const NAKED = 1 << 2 ;
108104 /// `#[no_mangle]`: an indicator that the function's name should be the same
109105 /// as its symbol.
110- const NO_MANGLE = 1 << 5 ;
106+ const NO_MANGLE = 1 << 3 ;
111107 /// `#[rustc_std_internal_symbol]`: an indicator that this symbol is a
112108 /// "weird symbol" for the standard library in that it has slightly
113109 /// different linkage, visibility, and reachability rules.
114- const RUSTC_STD_INTERNAL_SYMBOL = 1 << 6 ;
110+ const RUSTC_STD_INTERNAL_SYMBOL = 1 << 4 ;
115111 /// `#[thread_local]`: indicates a static is actually a thread local
116112 /// 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
119115 /// 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 ;
121120 /// `#[track_caller]`: allow access to the caller location
122- const TRACK_CALLER = 1 << 10 ;
121+ const TRACK_CALLER = 1 << 8 ;
123122 /// #[ffi_pure]: applies clang's `pure` attribute to a foreign function
124123 /// declaration.
125- const FFI_PURE = 1 << 11 ;
124+ const FFI_PURE = 1 << 9 ;
126125 /// #[ffi_const]: applies clang's `const` attribute to a foreign function
127126 /// 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 ;
134131 /// `#[rustc_deallocator]`: a hint to LLVM that the function only deallocates memory.
135- const DEALLOCATOR = 1 << 16 ;
132+ const DEALLOCATOR = 1 << 12 ;
136133 /// `#[rustc_reallocator]`: a hint to LLVM that the function only reallocates memory.
137- const REALLOCATOR = 1 << 17 ;
134+ const REALLOCATOR = 1 << 13 ;
138135 /// `#[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 ;
140137 /// `#[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 ;
142139 }
143140}
144141rustc_data_structures:: external_bitflags_debug! { CodegenFnAttrFlags }
0 commit comments