@@ -253,7 +253,7 @@ mod imp {
253253 /// play well with green threads, so while it is extremely nice
254254 /// and simple to use it should be used only on iOS devices as the
255255 /// only viable option.
256- #[ cfg( target_os = "ios" , target_arch = "arm" ) ]
256+ #[ cfg( all ( target_os = "ios" , target_arch = "arm" ) ) ]
257257 #[ inline( never) ]
258258 pub fn write ( w : & mut Writer ) -> IoResult < ( ) > {
259259 use iter:: { Iterator , range} ;
@@ -284,7 +284,7 @@ mod imp {
284284 result:: fold ( iter, ( ) , |_, _| ( ) )
285285 }
286286
287- #[ cfg( not( target_os = "ios" , target_arch = "arm" ) ) ]
287+ #[ cfg( not( all ( target_os = "ios" , target_arch = "arm" ) ) ) ]
288288 #[ inline( never) ] // if we know this is a function call, we can skip it when
289289 // tracing
290290 pub fn write ( w : & mut Writer ) -> IoResult < ( ) > {
@@ -365,8 +365,7 @@ mod imp {
365365 }
366366 }
367367
368- #[ cfg( target_os = "macos" ) ]
369- #[ cfg( target_os = "ios" ) ]
368+ #[ cfg( any( target_os = "macos" , target_os = "ios" ) ) ]
370369 fn print ( w : & mut Writer , idx : int , addr : * mut libc:: c_void ) -> IoResult < ( ) > {
371370 use intrinsics;
372371 #[ repr( C ) ]
@@ -391,7 +390,7 @@ mod imp {
391390 }
392391 }
393392
394- #[ cfg( not( target_os = "macos" ) , not ( target_os = "ios" ) ) ]
393+ #[ cfg( not( any ( target_os = "macos" , target_os = "ios" ) ) ) ]
395394 fn print ( w : & mut Writer , idx : int , addr : * mut libc:: c_void ) -> IoResult < ( ) > {
396395 use collections:: Collection ;
397396 use iter:: Iterator ;
@@ -571,25 +570,26 @@ mod imp {
571570
572571 extern {
573572 // No native _Unwind_Backtrace on iOS
574- #[ cfg( not( target_os = "ios" , target_arch = "arm" ) ) ]
573+ #[ cfg( not( all ( target_os = "ios" , target_arch = "arm" ) ) ) ]
575574 pub fn _Unwind_Backtrace ( trace : _Unwind_Trace_Fn ,
576575 trace_argument : * mut libc:: c_void )
577576 -> _Unwind_Reason_Code ;
578577
579- #[ cfg( not( target_os = "android" ) ,
580- not( target_os = "linux" , target_arch = "arm" ) ) ]
578+ #[ cfg( all ( not( target_os = "android" ) ,
579+ not( all ( target_os = "linux" , target_arch = "arm" ) ) ) ) ]
581580 pub fn _Unwind_GetIP ( ctx : * mut _Unwind_Context ) -> libc:: uintptr_t ;
582- #[ cfg( not( target_os = "android" ) ,
583- not( target_os = "linux" , target_arch = "arm" ) ) ]
581+
582+ #[ cfg( all( not( target_os = "android" ) ,
583+ not( all( target_os = "linux" , target_arch = "arm" ) ) ) ) ]
584584 pub fn _Unwind_FindEnclosingFunction ( pc : * mut libc:: c_void )
585585 -> * mut libc:: c_void ;
586586 }
587587
588588 // On android, the function _Unwind_GetIP is a macro, and this is the
589589 // expansion of the macro. This is all copy/pasted directly from the
590590 // header file with the definition of _Unwind_GetIP.
591- #[ cfg( target_os = "android" ) ]
592- # [ cfg ( target_os = "linux" , target_arch = "arm" ) ]
591+ #[ cfg( any ( target_os = "android" ,
592+ all ( target_os = "linux" , target_arch = "arm" ) ) ) ]
593593 pub unsafe fn _Unwind_GetIP ( ctx : * mut _Unwind_Context ) -> libc:: uintptr_t {
594594 #[ repr( C ) ]
595595 enum _Unwind_VRS_Result {
@@ -634,8 +634,8 @@ mod imp {
634634
635635 // This function also doesn't exist on Android or ARM/Linux, so make it
636636 // a no-op
637- #[ cfg( target_os = "android" ) ]
638- # [ cfg ( target_os = "linux" , target_arch = "arm" ) ]
637+ #[ cfg( any ( target_os = "android" ,
638+ all ( target_os = "linux" , target_arch = "arm" ) ) ) ]
639639 pub unsafe fn _Unwind_FindEnclosingFunction ( pc : * mut libc:: c_void )
640640 -> * mut libc:: c_void
641641 {
0 commit comments