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
rustc_apfloat
rustc_arena
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
rustc_ast_pretty
rustc_attr Created NestedMetaItem::name_value_literal_span method 2020-12-01 16:26:51 +01:00
rustc_builtin_macros
rustc_codegen_cranelift
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
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
rustc_expand Rollup merge of #79678 - jyn514:THE-PAPERCLIP-COMETH, r=varkor 2020-12-04 03:30:39 +01:00
rustc_feature
rustc_fs_util
rustc_graphviz
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
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
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
rustc_passes Validate naked functions definitions 2020-12-07 00:00:00 +00:00
rustc_plugin_impl
rustc_privacy
rustc_query_system
rustc_resolve Tweak diagnostics on shadowing lifetimes/labels 2020-12-02 11:39:42 +09:00
rustc_save_analysis
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
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
rustc_ty_utils
rustc_typeck Auto merge of #79653 - tmiasko:naked-functions, r=Amanieu 2020-12-07 22:47:20 +00:00