rust/compiler
Guillaume Gomez 4755173cf6
Rollup merge of #96935 - thomcc:atomicptr-strict-prov, r=dtolnay
Allow arithmetic and certain bitwise ops on AtomicPtr

This is mainly to support migrating from `AtomicUsize`, for the strict provenance experiment.

This is a pretty dubious set of APIs, but it should be sufficient to allow code that's using `AtomicUsize` to manipulate a tagged pointer atomically. It's under a new feature gate, `#![feature(strict_provenance_atomic_ptr)]`, but I'm not sure if it needs its own tracking issue. I'm happy to make one, but it's not clear that it's needed.

I'm unsure if it needs changes in the various non-LLVM backends. Because we just cast things to integers anyway (and were already doing so), I doubt it.

API change proposal: https://github.com/rust-lang/libs-team/issues/60

Fixes #95492
2022-07-06 20:43:23 +02:00
..
rustc Rollup merge of #97385 - oli-obk:smir-tool-lib, r=pnkfelix 2022-06-14 07:47:24 +09:00
rustc_apfloat Update smallvec to 1.8.1. 2022-06-27 08:48:55 +10:00
rustc_arena Update smallvec to 1.8.1. 2022-06-27 08:48:55 +10:00
rustc_ast Update smallvec to 1.8.1. 2022-06-27 08:48:55 +10:00
rustc_ast_lowering Factor out hir::Node::Binding 2022-07-01 10:04:19 -05:00
rustc_ast_passes Auto merge of #97842 - notriddle:notriddle/tuple-docs, r=jsha,GuillaumeGomez 2022-06-16 11:13:30 +00:00
rustc_ast_pretty Fix pretty printing of empty type bound lists in where-clause 2022-06-16 17:24:50 -07:00
rustc_attr Remove rustc_deprecated diagnostics 2022-06-14 19:46:13 -04:00
rustc_borrowck Update TypeVisitor paths 2022-07-06 06:41:53 +01:00
rustc_builtin_macros Don't use match-destructuring for derived ops on structs. 2022-07-04 10:48:15 +10:00
rustc_codegen_cranelift Update TypeVisitor paths 2022-07-06 06:41:53 +01:00
rustc_codegen_gcc Update TypeVisitor paths 2022-07-06 06:41:53 +01:00
rustc_codegen_llvm Update TypeVisitor paths 2022-07-06 06:41:53 +01:00
rustc_codegen_ssa Rollup merge of #96935 - thomcc:atomicptr-strict-prov, r=dtolnay 2022-07-06 20:43:23 +02:00
rustc_const_eval Rollup merge of #98968 - RalfJung:scalar-sanity, r=oli-obk 2022-07-06 14:49:13 +05:30
rustc_data_structures Auto merge of #98558 - nnethercote:smallvec-1.8.1, r=lqd 2022-06-29 09:11:29 +00:00
rustc_driver Fix bug in rustdoc -Whelp 2022-07-02 02:11:49 -05:00
rustc_error_codes Rollup merge of #97423 - m-ou-se:memory-ordering-intrinsics, r=tmiasko 2022-06-29 10:28:18 +05:30
rustc_error_messages lint: port asm labels diagnostics 2022-06-30 08:59:22 +01:00
rustc_errors errors: introduce DecorateLint 2022-07-05 16:00:20 +01:00
rustc_expand Auto merge of #98446 - nnethercote:derive-no-match-destructuring, r=scottmcm 2022-07-04 01:06:54 +00:00
rustc_feature Move/rename lazy::Sync{OnceCell,Lazy} to sync::{Once,Lazy}Lock 2022-06-16 19:54:42 +04:00
rustc_fs_util
rustc_graphviz Fully stabilize NLL 2022-06-03 17:16:41 -04:00
rustc_hir Factor out hir::Node::Binding 2022-07-01 10:04:19 -05:00
rustc_hir_pretty clean up the borrowing in rustc_hir_pretty 2022-07-03 18:51:14 +02:00
rustc_incremental Auto merge of #98153 - nnethercote:fix-MissingDoc-quadratic-behaviour, r=cjgillot 2022-06-18 09:57:00 +00:00
rustc_index Update smallvec to 1.8.1. 2022-06-27 08:48:55 +10:00
rustc_infer Update TypeVisitor paths 2022-07-06 06:41:53 +01:00
rustc_interface Auto merge of #98570 - SparrowLii:deadlock, r=cjgillot 2022-07-03 02:05:14 +00:00
rustc_lexer fix typo in comment 2022-06-28 19:59:09 +05:30
rustc_lint Rollup merge of #98884 - davidtwco:translation-on-lints-derive, r=oli-obk 2022-07-06 14:49:10 +05:30
rustc_lint_defs Auto merge of #97235 - nbdd0121:unwind, r=Amanieu 2022-07-02 14:06:27 +00:00
rustc_llvm llvm-wrapper: adapt for LLVMConstExtractValue removal 2022-06-30 12:47:34 +00:00
rustc_log clippy::complexity fixes 2022-05-26 13:14:24 +02:00
rustc_macros Rollup merge of #98884 - davidtwco:translation-on-lints-derive, r=oli-obk 2022-07-06 14:49:10 +05:30
rustc_metadata Auto merge of #97235 - nbdd0121:unwind, r=Amanieu 2022-07-02 14:06:27 +00:00
rustc_middle Rollup merge of #98968 - RalfJung:scalar-sanity, r=oli-obk 2022-07-06 14:49:13 +05:30
rustc_mir_build Update TypeVisitor paths 2022-07-06 06:41:53 +01:00
rustc_mir_dataflow Rollup merge of #98944 - pierwill:flatset-docs, r=Dylan-DPC 2022-07-05 23:43:33 +02:00
rustc_mir_transform Rollup merge of #98884 - davidtwco:translation-on-lints-derive, r=oli-obk 2022-07-06 14:49:10 +05:30
rustc_monomorphize Update TypeVisitor paths 2022-07-06 06:41:53 +01:00
rustc_parse Auto merge of #98673 - pietroalbini:pa-bootstrap-update, r=Mark-Simulacrum 2022-07-03 06:55:50 +00:00
rustc_parse_format
rustc_passes Rollup merge of #98624 - davidtwco:translation-on-lints, r=compiler-errors 2022-07-05 16:04:32 +05:30
rustc_plugin_impl remove currently unused deps 2022-06-13 22:20:51 +03:00
rustc_privacy Rollup merge of #98881 - cjgillot:q-def-kind, r=fee1-dead 2022-07-06 14:49:08 +05:30
rustc_query_impl Rollup merge of #98881 - cjgillot:q-def-kind, r=fee1-dead 2022-07-06 14:49:08 +05:30
rustc_query_system Auto merge of #98570 - SparrowLii:deadlock, r=cjgillot 2022-07-03 02:05:14 +00:00
rustc_resolve fix typo in note about multiple inaccessible type aliases 2022-07-05 21:21:12 -04:00
rustc_save_analysis Factor out hir::Node::Binding 2022-07-01 10:04:19 -05:00
rustc_serialize Update smallvec to 1.8.1. 2022-06-27 08:48:55 +10:00
rustc_session incr.comp.: Make split-dwarf commandline options [TRACKED]. 2022-07-04 14:11:28 +02:00
rustc_smir Rustfmt 2022-06-02 10:29:00 +00:00
rustc_span errors: introduce DecorateLint 2022-07-05 16:00:20 +01:00
rustc_symbol_mangling Update TypeVisitor paths 2022-07-06 06:41:53 +01:00
rustc_target rustc_target: Some more tests and fixes for linker arguments 2022-06-25 21:57:08 +03:00
rustc_trait_selection Rollup merge of #98884 - davidtwco:translation-on-lints-derive, r=oli-obk 2022-07-06 14:49:10 +05:30
rustc_traits Update TypeVisitor paths 2022-07-06 06:41:53 +01:00
rustc_ty_utils Update TypeVisitor paths 2022-07-06 06:41:53 +01:00
rustc_type_ir more rustc_pass_by_value 2022-07-04 09:40:58 +02:00
rustc_typeck Update TypeVisitor paths 2022-07-06 06:41:53 +01:00