summary refs log tree commit diff
path: root/src/libsyntax/parse
diff options
context:
space:
mode:
authorNick Cameron <ncameron@mozilla.com>2014-02-14 17:23:01 +1300
committerNick Cameron <ncameron@mozilla.com>2014-02-24 13:24:57 +1300
commit317a253b22a512fad46c3749ea86d9674ff18453 (patch)
tree857ae7890c4f56e61bcc6595bafddd108150ccd3 /src/libsyntax/parse
parentcbed3321f5bbe4375819dd82193bd4299fabafb9 (diff)
downloadrust-317a253b22a512fad46c3749ea86d9674ff18453.tar.gz
rust-317a253b22a512fad46c3749ea86d9674ff18453.zip
All uses of `extern fn` should mean `extern "C" fn`. Closes #9309.
Diffstat (limited to 'src/libsyntax/parse')
-rw-r--r--src/libsyntax/parse/parser.rs9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/libsyntax/parse/parser.rs b/src/libsyntax/parse/parser.rs
index fed2034cd26..60c43632ba0 100644
--- a/src/libsyntax/parse/parser.rs
+++ b/src/libsyntax/parse/parser.rs
@@ -862,11 +862,12 @@ impl Parser {
 
         */
 
-        let opt_abis = if self.eat_keyword(keywords::Extern) {
-            self.parse_opt_abis()
-        } else { None };
+        let abis = if self.eat_keyword(keywords::Extern) {
+            self.parse_opt_abis().unwrap_or(AbiSet::C())
+        } else {
+            AbiSet::Rust()
+        };
 
-        let abis = opt_abis.unwrap_or(AbiSet::Rust());
         let purity = self.parse_unsafety();
         self.expect_keyword(keywords::Fn);
         let (decl, lifetimes) = self.parse_ty_fn_decl(true);