rust/compiler
bors 7daf4cf911 Auto merge of #133138 - azhogin:azhogin/target-modifiers, r=davidtwco,saethlin
Target modifiers (special marked options) are recorded in metainfo

Target modifiers (special marked options) are recorded in metainfo and compared to be equal in different linked crates.

PR for this RFC: https://github.com/rust-lang/rfcs/pull/3716

Option may be marked as `TARGET_MODIFIER`, example: `regparm: Option<u32> = (None, parse_opt_number, [TRACKED TARGET_MODIFIER]`.
If an TARGET_MODIFIER-marked option has non-default value, it will be recorded in crate metainfo as a `Vec<TargetModifier>`:
```
pub struct TargetModifier {
    pub opt: OptionsTargetModifiers,
    pub value_name: String,
}
```

OptionsTargetModifiers is a macro-generated enum.

Option value code (for comparison) is generated using `Debug` trait.

Error example:
```
error: mixing `-Zregparm` will cause an ABI mismatch in crate `incompatible_regparm`
  --> $DIR/incompatible_regparm.rs:10:1
   |
LL | #![crate_type = "lib"]
   | ^
   |
   = help: the `-Zregparm` flag modifies the ABI so Rust crates compiled with different values of this flag cannot be used together safely
   = note: `-Zregparm=1` in this crate is incompatible with `-Zregparm=2` in dependency `wrong_regparm`
   = help: set `-Zregparm=2` in this crate or `-Zregparm=1` in `wrong_regparm`
   = help: if you are sure this will not cause problems, use `-Cunsafe-allow-abi-mismatch=regparm` to silence this error

error: aborting due to 1 previous error
```

`-Cunsafe-allow-abi-mismatch=regparm,reg-struct-return` to disable list of flags.
2025-02-03 07:16:57 +00:00
..
rustc switch jemalloc-sys back to tikv-jemalloc-sys, and update to 0.6.0 2024-12-03 08:56:33 +00:00
rustc_abi Auto merge of #135047 - Flakebi:amdgpu-kernel-cc, r=workingjubilee 2025-01-17 04:36:09 +00:00
rustc_arena Add inherent versions of MaybeUninit methods for slices 2025-01-11 23:57:00 -05:00
rustc_ast Implement MIR, CTFE, and codegen for unsafe binders 2025-01-31 17:19:53 +00:00
rustc_ast_ir Add sugar for &pin (const|mut) types 2024-10-07 11:15:04 -07:00
rustc_ast_lowering Rename tcx.ensure_with_value() to tcx.ensure_done() 2025-02-01 12:42:39 +11:00
rustc_ast_passes Refactor FnKind variant to hold &Fn 2025-01-28 11:22:25 -08:00
rustc_ast_pretty Refactor FnKind variant to hold &Fn 2025-01-28 11:22:25 -08:00
rustc_attr_data_structures rustc_allowed_through_unstable_modules: require deprecation message 2025-02-02 12:36:12 +01:00
rustc_attr_parsing rustc_allowed_through_unstable_modules: require deprecation message 2025-02-02 12:36:12 +01:00
rustc_baked_icu_data Delete the cfg(not(parallel)) serial compiler 2024-11-12 13:38:58 +00:00
rustc_borrowck Rollup merge of #136402 - notriddle:notriddle/let-expr-detector, r=compiler-errors 2025-02-02 18:05:23 +01:00
rustc_builtin_macros Rollup merge of #134272 - RalfJung:destabilize-rustc_encodable_decodable, r=oli-obk 2025-02-02 18:05:22 +01:00
rustc_codegen_cranelift Rollup merge of #136279 - Zalathar:ensure-ok, r=oli-obk 2025-02-02 12:31:55 +01:00
rustc_codegen_gcc Auto merge of #136331 - jhpratt:rollup-curo1f4, r=jhpratt 2025-01-31 06:55:04 +00:00
rustc_codegen_llvm Rollup merge of #136426 - oli-obk:push-nkpuulwurykn, r=compiler-errors 2025-02-02 23:06:57 +01:00
rustc_codegen_ssa Rollup merge of #136279 - Zalathar:ensure-ok, r=oli-obk 2025-02-02 12:31:55 +01:00
rustc_const_eval Check the base type of pattern types for validity first 2025-02-02 19:30:53 +00:00
rustc_data_structures Overhaul to_readable_str. 2025-01-31 16:04:13 +11:00
rustc_driver
rustc_driver_impl Rollup merge of #136445 - bjorn3:diag_ctxt_cleanup, r=oli-obk 2025-02-02 23:06:57 +01:00
rustc_error_codes Auto merge of #133154 - estebank:issue-133137, r=wesleywiser 2025-01-25 11:41:21 +00:00
rustc_error_messages Convert some Into impls into From impls 2024-12-31 01:56:33 +00:00
rustc_errors Rollup merge of #136445 - bjorn3:diag_ctxt_cleanup, r=oli-obk 2025-02-02 23:06:57 +01:00
rustc_expand Auto merge of #134478 - compiler-errors:attr-span, r=oli-obk 2025-01-22 14:46:41 +00:00
rustc_feature rustc_allowed_through_unstable_modules: require deprecation message 2025-02-02 12:36:12 +01:00
rustc_fluent_macro use tracked_path in rustc_fluent_macro 2024-10-19 22:32:38 +08:00
rustc_fs_util Couple of changes to make it easier to compile rustc for wasm 2024-09-26 19:51:14 +00:00
rustc_graphviz Reformat using the new identifier sorting from rustfmt 2024-09-22 19:11:29 -04:00
rustc_hir Insert null checks for pointer dereferences when debug assertions are enabled 2025-01-31 11:13:34 +00:00
rustc_hir_analysis Maintain a list of types permitted per pattern 2025-02-02 19:30:53 +00:00
rustc_hir_pretty Eliminate PatKind::Path 2025-01-29 15:45:13 +00:00
rustc_hir_typeck Rollup merge of #136422 - nnethercote:convert-lint-functions, r=Noratrieb 2025-02-02 18:05:24 +01:00
rustc_incremental turn hir::ItemKind::Fn into a named-field variant 2025-01-04 11:35:31 +01:00
rustc_index Run clippy --fix for unnecessary_map_or lint 2025-01-19 19:15:00 +00:00
rustc_index_macros update rustc_index_macros feature handling 2024-12-19 20:32:12 +03:00
rustc_infer Move unify_key module. 2025-02-02 17:38:19 +11:00
rustc_interface Auto merge of #133138 - azhogin:azhogin/target-modifiers, r=davidtwco,saethlin 2025-02-03 07:16:57 +00:00
rustc_lexer Add test to check unicode identifier version 2024-12-09 06:23:59 -08:00
rustc_lint Rollup merge of #136422 - nnethercote:convert-lint-functions, r=Noratrieb 2025-02-02 18:05:24 +01:00
rustc_lint_defs Make comma separated lists of anything easier to make for errors 2025-01-31 20:36:44 +00:00
rustc_llvm Auto merge of #136350 - matthiaskrgr:rollup-6eqfyvh, r=matthiaskrgr 2025-01-31 20:16:46 +00:00
rustc_log Avoid naming variables str 2025-01-07 14:30:02 +02:00
rustc_macros Rename ensure_forwards_result_if_red to return_result_from_ensure_ok 2025-02-01 12:42:41 +11:00
rustc_metadata Auto merge of #133138 - azhogin:azhogin/target-modifiers, r=davidtwco,saethlin 2025-02-03 07:16:57 +00:00
rustc_middle Auto merge of #133138 - azhogin:azhogin/target-modifiers, r=davidtwco,saethlin 2025-02-03 07:16:57 +00:00
rustc_mir_build Rollup merge of #136328 - estebank:long-ty-path, r=jieyouxu,lqd 2025-02-02 12:31:56 +01:00
rustc_mir_dataflow Implement MIR, CTFE, and codegen for unsafe binders 2025-01-31 17:19:53 +00:00
rustc_mir_transform Rollup merge of #136358 - clubby789:opt-none-noinline, r=saethlin 2025-02-02 12:31:57 +01:00
rustc_monomorphize Rename tcx.ensure() to tcx.ensure_ok() 2025-02-01 12:38:54 +11:00
rustc_next_trait_solver introduce ty::Value 2025-01-30 17:47:44 +01:00
rustc_parse Rollup merge of #135882 - hkBst:master, r=estebank 2025-01-30 12:45:27 +01:00
rustc_parse_format use impl Into<String> 2025-01-29 09:48:08 +01:00
rustc_passes rustc_allowed_through_unstable_modules: require deprecation message 2025-02-02 12:36:12 +01:00
rustc_pattern_analysis Get rid of mir::Const::from_ty_const 2025-01-20 04:26:44 +00:00
rustc_privacy Make comma separated lists of anything easier to make for errors 2025-01-31 20:36:44 +00:00
rustc_query_impl don't return an Option from try_find_dep_kind 2025-01-07 21:57:00 +01:00
rustc_query_system Properly note when query stack is being cut off 2025-01-16 19:12:22 +00:00
rustc_resolve Refactor FnKind variant to hold &Fn 2025-01-28 11:22:25 -08:00
rustc_sanitizers check the types in ty::Value to value conversion 2025-01-30 18:13:16 +01:00
rustc_serialize Fix explicit_iter_loop in rustc_serialize 2024-10-16 15:44:16 +02:00
rustc_session Auto merge of #133138 - azhogin:azhogin/target-modifiers, r=davidtwco,saethlin 2025-02-03 07:16:57 +00:00
rustc_smir Rollup merge of #130514 - compiler-errors:unsafe-binders, r=oli-obk 2025-02-01 16:41:03 +01:00
rustc_span Rollup merge of #136422 - nnethercote:convert-lint-functions, r=Noratrieb 2025-02-02 18:05:24 +01:00
rustc_symbol_mangling Auto merge of #135318 - compiler-errors:vtable-fixes, r=lcnr 2025-01-31 04:09:11 +00:00
rustc_target Rollup merge of #136194 - taiki-e:bpf-clobber-abi, r=amanieu 2025-01-31 12:28:17 +01:00
rustc_trait_selection Rollup merge of #136414 - estebank:expected-return-type, r=oli-obk 2025-02-02 23:06:55 +01:00
rustc_traits Auto merge of #136011 - compiler-errors:query-norm-vaniquishes-us, r=jackh726 2025-01-29 02:12:12 +00:00
rustc_transmute introduce ty::Value 2025-01-30 17:47:44 +01:00
rustc_ty_utils Rollup merge of #136279 - Zalathar:ensure-ok, r=oli-obk 2025-02-02 12:31:55 +01:00
rustc_type_ir introduce ty::Value 2025-01-30 17:47:44 +01:00
rustc_type_ir_macros do not relate Abi and Safety 2024-10-22 23:13:04 +02:00
stable_mir Insert null checks for pointer dereferences when debug assertions are enabled 2025-01-31 11:13:34 +00:00