about summary refs log tree commit diff
path: root/src/libsyntax
diff options
context:
space:
mode:
authorEric Holk <eric.holk@gmail.com>2012-07-25 17:29:34 -0700
committerEric Holk <eric.holk@gmail.com>2012-07-25 17:30:13 -0700
commit3aee39a6ec910bde6ae9a5423b11aaaad4a1b089 (patch)
tree7b33b33d6df0ba71edbc1943a6ab0c6177726cff /src/libsyntax
parent987814f11e4614b8aa712eb19cff78fbbe0d34fa (diff)
Add #[inline(never)], and also fixed inlining on vec::push
Diffstat (limited to 'src/libsyntax')
-rw-r--r--src/libsyntax/attr.rs6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/libsyntax/attr.rs b/src/libsyntax/attr.rs
index 859bc70bfd6..4587a5b8b29 100644
--- a/src/libsyntax/attr.rs
+++ b/src/libsyntax/attr.rs
@@ -364,7 +364,8 @@ fn foreign_abi(attrs: ~[ast::attribute]) -> either<~str, ast::foreign_abi> {
 enum inline_attr {
     ia_none,
     ia_hint,
-    ia_always
+    ia_always,
+    ia_never,
 }
 
 /// True if something like #[inline] is found in the list of attrs.
@@ -376,6 +377,9 @@ fn find_inline_attr(attrs: ~[ast::attribute]) -> inline_attr {
           ast::meta_list(@~"inline", items) {
             if !vec::is_empty(find_meta_items_by_name(items, ~"always")) {
                 ia_always
+            } else if !vec::is_empty(
+                find_meta_items_by_name(items, ~"never")) {
+                ia_never
             } else {
                 ia_hint
             }