@@ -2267,6 +2267,8 @@ pub struct TargetOptions {
22672267 pub is_like_wasm : bool ,
22682268 /// Whether a target toolchain is like Android, implying a Linux kernel and a Bionic libc
22692269 pub is_like_android : bool ,
2270+ /// Whether a target toolchain is like VEXos.
2271+ pub is_like_vexos : bool ,
22702272 /// Default supported version of DWARF on this platform.
22712273 /// Useful because some platforms (osx, bsd) only want up to DWARF2.
22722274 pub default_dwarf_version : u32 ,
@@ -2622,6 +2624,7 @@ impl Default for TargetOptions {
26222624 is_like_msvc : false ,
26232625 is_like_wasm : false ,
26242626 is_like_android : false ,
2627+ is_like_vexos : false ,
26252628 default_dwarf_version : 4 ,
26262629 allows_weak_linkage : true ,
26272630 has_rpath : false ,
@@ -2729,6 +2732,7 @@ impl Target {
27292732 Abi :: System { unwind } if self . is_like_windows && self . arch == "x86" && !c_variadic => {
27302733 Abi :: Stdcall { unwind }
27312734 }
2735+ Abi :: System { unwind } if self . is_like_vexos && !c_variadic => Abi :: Aapcs { unwind } ,
27322736 Abi :: System { unwind } => Abi :: C { unwind } ,
27332737 Abi :: EfiApi if self . arch == "arm" => Abi :: Aapcs { unwind : false } ,
27342738 Abi :: EfiApi if self . arch == "x86_64" => Abi :: Win64 { unwind : false } ,
@@ -3382,6 +3386,7 @@ impl Target {
33823386 key ! ( is_like_msvc, bool ) ;
33833387 key ! ( is_like_wasm, bool ) ;
33843388 key ! ( is_like_android, bool ) ;
3389+ key ! ( is_like_vexos, bool ) ;
33853390 key ! ( default_dwarf_version, u32 ) ;
33863391 key ! ( allows_weak_linkage, bool ) ;
33873392 key ! ( has_rpath, bool ) ;
@@ -3662,6 +3667,7 @@ impl ToJson for Target {
36623667 target_option_val ! ( is_like_msvc) ;
36633668 target_option_val ! ( is_like_wasm) ;
36643669 target_option_val ! ( is_like_android) ;
3670+ target_option_val ! ( is_like_vexos) ;
36653671 target_option_val ! ( default_dwarf_version) ;
36663672 target_option_val ! ( allows_weak_linkage) ;
36673673 target_option_val ! ( has_rpath) ;
0 commit comments