File tree Expand file tree Collapse file tree 3 files changed +7
-4
lines changed
compiler/rustc_driver_impl/src Expand file tree Collapse file tree 3 files changed +7
-4
lines changed Original file line number Diff line number Diff line change @@ -152,7 +152,8 @@ pub(super) fn install() {
152
152
libc:: sigaltstack ( & alt_stack, ptr:: null_mut ( ) ) ;
153
153
154
154
let mut sa: libc:: sigaction = mem:: zeroed ( ) ;
155
- sa. sa_sigaction = print_stack_trace as libc:: sighandler_t ;
155
+ sa. sa_sigaction =
156
+ print_stack_trace as unsafe extern "C" fn ( libc:: c_int ) as libc:: sighandler_t ;
156
157
sa. sa_flags = libc:: SA_NODEFER | libc:: SA_RESETHAND | libc:: SA_ONSTACK ;
157
158
libc:: sigemptyset ( & mut sa. sa_mask ) ;
158
159
for ( signum, _signame) in KILL_SIGNALS {
Original file line number Diff line number Diff line change @@ -293,7 +293,7 @@ impl Backtrace {
293
293
if !Backtrace :: enabled ( ) {
294
294
return Backtrace { inner : Inner :: Disabled } ;
295
295
}
296
- Backtrace :: create ( Backtrace :: capture as usize )
296
+ Backtrace :: create ( Backtrace :: capture as fn ( ) -> Backtrace as usize )
297
297
}
298
298
299
299
/// Forcibly captures a full backtrace, regardless of environment variable
@@ -309,7 +309,7 @@ impl Backtrace {
309
309
#[ stable( feature = "backtrace" , since = "1.65.0" ) ]
310
310
#[ inline( never) ] // want to make sure there's a frame here to remove
311
311
pub fn force_capture ( ) -> Backtrace {
312
- Backtrace :: create ( Backtrace :: force_capture as usize )
312
+ Backtrace :: create ( Backtrace :: force_capture as fn ( ) -> Backtrace as usize )
313
313
}
314
314
315
315
/// Forcibly captures a disabled backtrace, regardless of environment
Original file line number Diff line number Diff line change @@ -169,7 +169,9 @@ mod imp {
169
169
}
170
170
171
171
action. sa_flags = SA_SIGINFO | SA_ONSTACK ;
172
- action. sa_sigaction = signal_handler as sighandler_t ;
172
+ action. sa_sigaction = signal_handler
173
+ as unsafe extern "C" fn ( i32 , * mut libc:: siginfo_t , * mut libc:: c_void )
174
+ as sighandler_t ;
173
175
// SAFETY: only overriding signals if the default is set
174
176
unsafe { sigaction ( signal, & action, ptr:: null_mut ( ) ) } ;
175
177
}
You can’t perform that action at this time.
0 commit comments