File tree Expand file tree Collapse file tree 2 files changed +16
-1
lines changed Expand file tree Collapse file tree 2 files changed +16
-1
lines changed Original file line number Diff line number Diff line change @@ -1630,9 +1630,20 @@ impure fn parse_native_mod_items(parser p,
1630
1630
impure fn parse_item_native_mod ( parser p) -> @ast . item {
1631
1631
auto lo = p. get_span ( ) ;
1632
1632
expect ( p, token. NATIVE ) ;
1633
- auto native_name = parse_str_lit ( p) ;
1633
+ auto has_eq;
1634
+ auto native_name = "" ;
1635
+ if ( p. peek ( ) == token. MOD ) {
1636
+ has_eq = true ;
1637
+ } else {
1638
+ native_name = parse_str_lit ( p) ;
1639
+ has_eq = false ;
1640
+ }
1634
1641
expect ( p, token. MOD ) ;
1635
1642
auto id = parse_ident ( p) ;
1643
+ if ( has_eq) {
1644
+ expect ( p, token. EQ ) ;
1645
+ native_name = parse_str_lit ( p) ;
1646
+ }
1636
1647
expect ( p, token. LBRACE ) ;
1637
1648
auto m = parse_native_mod_items ( p, native_name) ;
1638
1649
auto hi = p. get_span ( ) ;
Original file line number Diff line number Diff line change @@ -3,5 +3,9 @@ native "rust" mod rustrt {
3
3
fn vec_buf[ T ] ( vec[ T ] v, uint offset) -> vbuf;
4
4
}
5
5
6
+ native mod libc = "libc.dylib" {
7
+ fn write ( int fd, rustrt . vbuf buf, uint count ) -> int ;
8
+ }
9
+
6
10
fn main ( vec[ str] args ) {
7
11
}
You can’t perform that action at this time.
0 commit comments