rust/compiler
bors bda05cc471 Auto merge of #79653 - tmiasko:naked-functions, r=Amanieu
Validate naked functions definitions

Validate that naked functions are defined in terms of a single inline assembly
block that uses only `const` and `sym` operands and has `noreturn` option.

Implemented as future incompatibility lint with intention to migrate it into
hard error. When it becomes a hard error it will ensure that naked functions are
either unsafe or contain an unsafe block around the inline assembly. It will
guarantee that naked functions do not reference functions parameters (obsoleting
part of existing checks from #79411). It will limit the definitions of naked
functions to what can be reliably supported. It will also reject naked functions
implemented using legacy LLVM style assembly since it cannot satisfy those
conditions.

https://github.com/rust-lang/rfcs/pull/2774
https://github.com/rust-lang/rfcs/pull/2972
2020-12-07 22:47:20 +00:00
..
rustc just max_level_info 2020-09-11 09:37:51 -07:00
rustc_apfloat Backport another LLVM commit to rustc_apfloat 2020-10-04 02:02:25 +02:00
rustc_arena Use specialization to avoid copying 2020-11-20 21:02:09 +01:00
rustc_ast Add documentation for name_value_literal_span methods 2020-12-01 17:32:14 +01:00
rustc_ast_lowering Retain assembly operands span when lowering AST to HIR 2020-12-06 20:48:08 +01:00
rustc_ast_passes Auto merge of #78296 - Aaron1011:fix/stmt-tokens, r=petrochenkov 2020-11-28 07:48:56 +00:00
rustc_ast_pretty Rollup merge of #79016 - fanzier:underscore-expressions, r=petrochenkov 2020-11-15 13:39:48 +01:00
rustc_attr Created NestedMetaItem::name_value_literal_span method 2020-12-01 16:26:51 +01:00
rustc_builtin_macros Properly handle attributes on statements 2020-11-26 17:08:35 -05:00
rustc_codegen_cranelift Merge commit '5988bbd24aa87732bfa1d111ba00bcdaa22c481a' into sync_cg_clif-2020-11-27 2020-11-27 20:48:53 +01:00
rustc_codegen_llvm Addressed feedback from 2020-12-01 2020-12-03 09:50:10 -08:00
rustc_codegen_ssa Combination of commits 2020-12-03 09:50:10 -08:00
rustc_data_structures Rename optin_builtin_traits to auto_traits 2020-11-23 14:14:06 -08:00
rustc_driver Fix unknown-crate when using self-profile with rustdoc 2020-12-01 12:54:03 -05:00
rustc_error_codes smarter E0390 2020-12-06 20:30:07 +00:00
rustc_errors Rollup merge of #74293 - GuillaumeGomez:rustdoc-test-compiler-output-color, r=jyn514 2020-11-17 16:13:46 +01:00
rustc_expand Rollup merge of #79678 - jyn514:THE-PAPERCLIP-COMETH, r=varkor 2020-12-04 03:30:39 +01:00
rustc_feature Rename optin_builtin_traits to auto_traits 2020-11-23 14:14:06 -08:00
rustc_fs_util Remove unused code from remaining compiler crates 2020-10-14 04:14:32 +02:00
rustc_graphviz Rust coverage before splitting instrument_coverage.rs 2020-11-05 18:24:12 -08:00
rustc_hir Retain assembly operands span when lowering AST to HIR 2020-12-06 20:48:08 +01:00
rustc_hir_pretty Retain assembly operands span when lowering AST to HIR 2020-12-06 20:48:08 +01:00
rustc_incremental Auto merge of #74967 - Aaron1011:feature/incr-def-path-table, r=pnkfelix 2020-12-01 14:30:02 +00:00
rustc_index Stabilise then 2020-11-22 13:45:14 +00:00
rustc_infer remove redundant clones 2020-12-05 12:59:54 +01:00
rustc_interface Auto merge of #79586 - jyn514:crate-name, r=davidtwco 2020-12-03 12:14:29 +00:00
rustc_lexer Fix some clippy lints 2020-12-03 17:08:19 -05:00
rustc_lint Only deny doc_keyword in std and set it as "allow" by default 2020-12-03 16:48:17 +01:00
rustc_lint_defs Validate naked functions definitions 2020-12-07 00:00:00 +00:00
rustc_llvm Auto merge of #78684 - devsnek:inline-asm-wasm, r=Amanieu 2020-12-01 20:23:06 +00:00
rustc_macros Only create OnDiskCache in incremental compilation mode 2020-11-19 15:50:55 -05:00
rustc_metadata rustc_metadata: Remove some dead code 2020-12-03 00:05:24 +03:00
rustc_middle Auto merge of #78609 - lcnr:rustdoc-const-eval, r=matthewjasper 2020-12-06 13:03:45 +00:00
rustc_mir small TypeVisitor refactor 2020-12-07 15:52:59 +01:00
rustc_mir_build Retain assembly operands span when lowering AST to HIR 2020-12-06 20:48:08 +01:00
rustc_parse A slightly clearer diagnostic when misusing 2020-12-04 11:33:30 +01:00
rustc_parse_format /nightly/nightly-rustc 2020-09-23 21:51:56 +02:00
rustc_passes Validate naked functions definitions 2020-12-07 00:00:00 +00:00
rustc_plugin_impl Store ForeignItem in a side table. 2020-11-26 21:29:27 +01:00
rustc_privacy Remove ForeignMod struct. 2020-11-26 21:32:27 +01:00
rustc_query_system Fix rebase fallout 2020-11-25 15:08:51 -05:00
rustc_resolve Tweak diagnostics on shadowing lifetimes/labels 2020-12-02 11:39:42 +09:00
rustc_save_analysis Remove ForeignMod struct. 2020-11-26 21:32:27 +01:00
rustc_serialize Fix some clippy lints 2020-12-03 17:08:19 -05:00
rustc_session Combination of commits 2020-12-03 09:50:10 -08:00
rustc_span Rollup merge of #79678 - jyn514:THE-PAPERCLIP-COMETH, r=varkor 2020-12-04 03:30:39 +01:00
rustc_symbol_mangling Store ForeignItem in a side table. 2020-11-26 21:29:27 +01:00
rustc_target Auto merge of #78684 - devsnek:inline-asm-wasm, r=Amanieu 2020-12-01 20:23:06 +00:00
rustc_trait_selection remove redundant clones 2020-12-05 12:59:54 +01:00
rustc_traits Don't run resolve_vars_if_possible in normalize_erasing_regions 2020-11-18 12:25:36 -05:00
rustc_ty_utils Be cautious of calling upvar_tys before mir 2020-11-29 19:20:28 -05:00
rustc_typeck Auto merge of #79653 - tmiasko:naked-functions, r=Amanieu 2020-12-07 22:47:20 +00:00