summary refs log tree commit diff
path: root/compiler/rustc_attr/src
diff options
context:
space:
mode:
authorTomasz Miąsko <tomasz.miasko@gmail.com>2020-11-20 00:00:00 +0000
committerTomasz Miąsko <tomasz.miasko@gmail.com>2020-11-20 00:00:00 +0000
commitc2fb99984c2ed4b54f5b8baff26fcc04af71d032 (patch)
tree024b4d540c666f66a9bac7329637a542cf002610 /compiler/rustc_attr/src
parentfe982319aa0aa5bbfc2795791a753832292bd2ba (diff)
downloadrust-c2fb99984c2ed4b54f5b8baff26fcc04af71d032.tar.gz
rust-c2fb99984c2ed4b54f5b8baff26fcc04af71d032.zip
Never inline naked functions
The `#[naked]` attribute disabled prologue / epilogue emission for the
function and it is responsibility of a developer to provide them. The
compiler is no position to inline such functions correctly.

Disable inlining of naked functions at LLVM and MIR level.
Diffstat (limited to 'compiler/rustc_attr/src')
-rw-r--r--compiler/rustc_attr/src/builtin.rs2
1 files changed, 1 insertions, 1 deletions
diff --git a/compiler/rustc_attr/src/builtin.rs b/compiler/rustc_attr/src/builtin.rs
index 2fd625c2a6c..364a3a1eeb5 100644
--- a/compiler/rustc_attr/src/builtin.rs
+++ b/compiler/rustc_attr/src/builtin.rs
@@ -67,7 +67,7 @@ fn handle_errors(sess: &ParseSess, span: Span, error: AttrError) {
     }
 }
 
-#[derive(Clone, PartialEq, Encodable, Decodable)]
+#[derive(Copy, Clone, PartialEq, Encodable, Decodable)]
 pub enum InlineAttr {
     None,
     Hint,