@@ -1111,6 +1111,10 @@ pub struct TargetOptions {
1111
1111
/// unwinders.
1112
1112
pub requires_uwtable : bool ,
1113
1113
1114
+ /// Whether or not to emit `uwtable` attributes on functions if `-C force-unwind-tables`
1115
+ /// is not specified and `uwtable` is not required on this target.
1116
+ pub default_uwtable : bool ,
1117
+
1114
1118
/// Whether or not SIMD types are passed by reference in the Rust ABI,
1115
1119
/// typically required if a target can be compiled with a mixed set of
1116
1120
/// target features. This is `true` by default, and `false` for targets like
@@ -1248,6 +1252,7 @@ impl Default for TargetOptions {
1248
1252
default_hidden_visibility : false ,
1249
1253
emit_debug_gdb_scripts : true ,
1250
1254
requires_uwtable : false ,
1255
+ default_uwtable : false ,
1251
1256
simd_types_indirect : true ,
1252
1257
limit_rdylib_exports : true ,
1253
1258
override_export_symbols : None ,
@@ -1711,6 +1716,7 @@ impl Target {
1711
1716
key ! ( default_hidden_visibility, bool ) ;
1712
1717
key ! ( emit_debug_gdb_scripts, bool ) ;
1713
1718
key ! ( requires_uwtable, bool ) ;
1719
+ key ! ( default_uwtable, bool ) ;
1714
1720
key ! ( simd_types_indirect, bool ) ;
1715
1721
key ! ( limit_rdylib_exports, bool ) ;
1716
1722
key ! ( override_export_symbols, opt_list) ;
@@ -1947,6 +1953,7 @@ impl ToJson for Target {
1947
1953
target_option_val ! ( default_hidden_visibility) ;
1948
1954
target_option_val ! ( emit_debug_gdb_scripts) ;
1949
1955
target_option_val ! ( requires_uwtable) ;
1956
+ target_option_val ! ( default_uwtable) ;
1950
1957
target_option_val ! ( simd_types_indirect) ;
1951
1958
target_option_val ! ( limit_rdylib_exports) ;
1952
1959
target_option_val ! ( override_export_symbols) ;
0 commit comments