about summary refs log tree commit diff
path: root/compiler/rustc_llvm/llvm-wrapper/CoverageMappingWrapper.cpp
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2020-12-07 22:47:20 +0000
committerbors <bors@rust-lang.org>2020-12-07 22:47:20 +0000
commitbda05cc471f8cf4a3c45f587f87d7b01a8343c3c (patch)
tree598e1d1abfd047276d82817c8d2c5e15208c87a1 /compiler/rustc_llvm/llvm-wrapper/CoverageMappingWrapper.cpp
parent3d6705aa5abffe94c83bf09af8c3ba3c599845fc (diff)
parent8065dabd171f7807b47a461b17f443df47a0cad5 (diff)
downloadrust-bda05cc471f8cf4a3c45f587f87d7b01a8343c3c.tar.gz
rust-bda05cc471f8cf4a3c45f587f87d7b01a8343c3c.zip
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
Diffstat (limited to 'compiler/rustc_llvm/llvm-wrapper/CoverageMappingWrapper.cpp')
0 files changed, 0 insertions, 0 deletions