rp: Disable intrinsics by default.
This commit is contained in:
		
							parent
							
								
									49070c75b6
								
							
						
					
					
						commit
						1e95c4fcff
					
				
							
								
								
									
										1
									
								
								ci.sh
									
									
									
									
									
								
							
							
						
						
									
										1
									
								
								ci.sh
									
									
									
									
									
								
							| @ -58,6 +58,7 @@ cargo batch  \ | ||||
|     --- build --release --manifest-path embassy-rp/Cargo.toml --target thumbv6m-none-eabi --features nightly,unstable-traits,log \ | ||||
|     --- build --release --manifest-path embassy-rp/Cargo.toml --target thumbv6m-none-eabi --features nightly,unstable-traits \ | ||||
|     --- build --release --manifest-path embassy-rp/Cargo.toml --target thumbv6m-none-eabi --features nightly \ | ||||
|     --- build --release --manifest-path embassy-rp/Cargo.toml --target thumbv6m-none-eabi --features nightly,intrinsics \ | ||||
|     --- build --release --manifest-path embassy-stm32/Cargo.toml --target thumbv7em-none-eabi --features nightly,stm32f410tb,defmt,exti,time-driver-any,unstable-traits \ | ||||
|     --- build --release --manifest-path embassy-stm32/Cargo.toml --target thumbv7em-none-eabi --features nightly,stm32f411ce,defmt,exti,time-driver-any,unstable-traits \ | ||||
|     --- build --release --manifest-path embassy-stm32/Cargo.toml --target thumbv7em-none-eabi --features nightly,stm32f429zi,log,exti,time-driver-any,unstable-traits \ | ||||
|  | ||||
| @ -23,7 +23,7 @@ unstable-pac = [] | ||||
| time-driver = [] | ||||
| 
 | ||||
| rom-func-cache = [] | ||||
| disable-intrinsics = [] | ||||
| intrinsics = [] | ||||
| rom-v2-intrinsics = [] | ||||
| 
 | ||||
| # Enable nightly-only features | ||||
|  | ||||
| @ -17,7 +17,7 @@ macro_rules! intrinsics_aliases { | ||||
|         $alias:ident | ||||
|         $($rest:ident)* | ||||
|     ) => { | ||||
|         #[cfg(all(target_arch = "arm", not(feature = "disable-intrinsics")))] | ||||
|         #[cfg(all(target_arch = "arm", feature = "intrinsics"))] | ||||
|         intrinsics! { | ||||
|             extern $abi fn $alias( $($argname: $ty),* ) -> $ret { | ||||
|                 $name($($argname),*) | ||||
| @ -35,7 +35,7 @@ macro_rules! intrinsics_aliases { | ||||
|         $alias:ident | ||||
|         $($rest:ident)* | ||||
|     ) => { | ||||
|         #[cfg(all(target_arch = "arm", not(feature = "disable-intrinsics")))] | ||||
|         #[cfg(all(target_arch = "arm", feature = "intrinsics"))] | ||||
|         intrinsics! { | ||||
|             unsafe extern $abi fn $alias( $($argname: $ty),* ) -> $ret { | ||||
|                 $name($($argname),*) | ||||
| @ -55,7 +55,7 @@ macro_rules! intrinsics_aliases { | ||||
| /// is to abstract anything special that needs to be done to override an
 | ||||
| /// intrinsic function.  Intrinsic generation is disabled for non-ARM targets
 | ||||
| /// so things like CI and docs generation do not have problems.  Additionally
 | ||||
| /// they can be disabled with the crate feature `disable-intrinsics` for
 | ||||
| /// they can be disabled by disabling the crate feature `intrinsics` for
 | ||||
| /// testing or comparing performance.
 | ||||
| ///
 | ||||
| /// Like the compiler-builtins macro, it accepts a series of functions that
 | ||||
| @ -214,13 +214,13 @@ macro_rules! intrinsics { | ||||
| 
 | ||||
|         $($rest:tt)* | ||||
|     ) => { | ||||
|         #[cfg(all(target_arch = "arm", not(feature = "disable-intrinsics")))] | ||||
|         #[cfg(all(target_arch = "arm", feature = "intrinsics"))] | ||||
|         $(#[$($attr)*])* | ||||
|         extern $abi fn $name( $($argname: $ty),* ) -> $ret { | ||||
|             $($body)* | ||||
|         } | ||||
| 
 | ||||
|         #[cfg(all(target_arch = "arm", not(feature = "disable-intrinsics")))] | ||||
|         #[cfg(all(target_arch = "arm", feature = "intrinsics"))] | ||||
|         mod $name { | ||||
|             #[no_mangle] | ||||
|             $(#[$($attr)*])* | ||||
| @ -231,7 +231,7 @@ macro_rules! intrinsics { | ||||
| 
 | ||||
|         // Not exported, but defined so the actual implementation is
 | ||||
|         // considered used
 | ||||
|         #[cfg(not(all(target_arch = "arm", not(feature = "disable-intrinsics"))))] | ||||
|         #[cfg(not(all(target_arch = "arm", feature = "intrinsics")))] | ||||
|         #[allow(dead_code)] | ||||
|         fn $name( $($argname: $ty),* ) -> $ret { | ||||
|             $($body)* | ||||
| @ -248,13 +248,13 @@ macro_rules! intrinsics { | ||||
| 
 | ||||
|         $($rest:tt)* | ||||
|     ) => { | ||||
|         #[cfg(all(target_arch = "arm", not(feature = "disable-intrinsics")))] | ||||
|         #[cfg(all(target_arch = "arm", feature = "intrinsics"))] | ||||
|         $(#[$($attr)*])* | ||||
|         unsafe extern $abi fn $name( $($argname: $ty),* ) -> $ret { | ||||
|             $($body)* | ||||
|         } | ||||
| 
 | ||||
|         #[cfg(all(target_arch = "arm", not(feature = "disable-intrinsics")))] | ||||
|         #[cfg(all(target_arch = "arm", feature = "intrinsics"))] | ||||
|         mod $name { | ||||
|             #[no_mangle] | ||||
|             $(#[$($attr)*])* | ||||
| @ -265,7 +265,7 @@ macro_rules! intrinsics { | ||||
| 
 | ||||
|         // Not exported, but defined so the actual implementation is
 | ||||
|         // considered used
 | ||||
|         #[cfg(not(all(target_arch = "arm", not(feature = "disable-intrinsics"))))] | ||||
|         #[cfg(not(all(target_arch = "arm", feature = "intrinsics")))] | ||||
|         #[allow(dead_code)] | ||||
|         unsafe fn $name( $($argname: $ty),* ) -> $ret { | ||||
|             $($body)* | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user