Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

A few minor patches #231

Merged
3 commits merged into from
Feb 23, 2011
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions src/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -569,6 +569,13 @@ TEST_XFAILS_RUSTC := $(filter-out \
multiline-comment-line-tracking.rs \
output-type-mismatch.rs \
rec-missing-fields.rs \
reserved-dec.rs \
reserved-f128.rs \
reserved-f16.rs \
reserved-f80.rs \
reserved-m128.rs \
reserved-m32.rs \
reserved-m64.rs \
tail-non-call.rs \
tail-typeck.rs \
type-shadow.rs \
Expand Down
19 changes: 17 additions & 2 deletions src/comp/front/lexer.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import std._io.stdio_reader;
import std.io.stdio_reader;
import std._str;
import std.map;
import std.map.hashmap;
Expand Down Expand Up @@ -90,7 +90,6 @@ fn new_reader(stdio_reader rdr, str filename) -> reader
}

auto keywords = new_str_hash[token.token]();
auto reserved = new_str_hash[()]();

keywords.insert("mod", token.MOD);
keywords.insert("use", token.USE);
Expand Down Expand Up @@ -191,6 +190,16 @@ fn new_reader(stdio_reader rdr, str filename) -> reader
keywords.insert("f32", token.MACH(common.ty_f32));
keywords.insert("f64", token.MACH(common.ty_f64));

auto reserved = new_str_hash[()]();

reserved.insert("f16", ()); // IEEE 754-2008 'binary16' interchange fmt
reserved.insert("f80", ()); // IEEE 754-1985 'extended'
reserved.insert("f128", ()); // IEEE 754-2008 'binary128'
reserved.insert("m32", ()); // IEEE 754-2008 'decimal32'
reserved.insert("m64", ()); // IEEE 754-2008 'decimal64'
reserved.insert("m128", ()); // IEEE 754-2008 'decimal128'
reserved.insert("dec", ()); // One of m32, m64, m128

ret reader(rdr, filename, rdr.getc() as char, rdr.getc() as char,
1u, 0u, 1u, 0u, keywords, reserved);
}
Expand Down Expand Up @@ -425,6 +434,12 @@ impure fn next_token(reader rdr) -> token.token {
ret kwds.get(accum_str);
}

auto rsvd = rdr.get_reserved();
if (rsvd.contains_key(accum_str)) {
log "reserved keyword";
fail;
}

ret token.IDENT(accum_str);
}

Expand Down
4 changes: 2 additions & 2 deletions src/comp/front/parser.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import std._io;
import std.io;
import std._vec;
import std._str;
import std.option;
Expand Down Expand Up @@ -80,7 +80,7 @@ impure fn new_parser(session.session sess,
ret tup(crate, def);
}
}
auto srdr = _io.new_stdio_reader(path);
auto srdr = io.new_stdio_reader(path);
auto rdr = lexer.new_reader(srdr, path);
auto npos = rdr.get_curr_pos();
ret stdio_parser(sess, lexer.next_token(rdr),
Expand Down
File renamed without changes.
4 changes: 2 additions & 2 deletions src/lib/sha1.rs
Original file line number Diff line number Diff line change
Expand Up @@ -185,8 +185,8 @@ fn mk_sha1() -> sha1 {
* 512 bits. The first padding bit must be a '1'. The last 64 bits
* represent the length of the original message. All bits in between
* should be 0. This function will pad the message according to those
* rules by filling the message_block array accordingly. It will also
* call ProcessMessageBlock() appropriately. When it returns, it
* rules by filling the msg_block vector accordingly. It will also
* call process_msg_block() appropriately. When it returns, it
* can be assumed that the message digest has been computed.
*/
impure fn pad_msg(&sha1state st) {
Expand Down
4 changes: 2 additions & 2 deletions src/lib/std.rc
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ mod _str;

// General IO and system-services modules.

mod _io;
mod io;
mod sys;
mod _task;

Expand All @@ -25,7 +25,7 @@ mod util;

// Authorize various rule-bendings.

auth _io = unsafe;
auth io = unsafe;
auth _str = unsafe;
auth _vec = unsafe;
auth _task = unsafe;
Expand Down
5 changes: 5 additions & 0 deletions src/test/compile-fail/reserved-dec.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
// error-pattern:reserved keyword

fn main() {
let int dec = 0;
}
5 changes: 5 additions & 0 deletions src/test/compile-fail/reserved-f128.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
// error-pattern:reserved keyword

fn main() {
let int f128 = 0;
}
5 changes: 5 additions & 0 deletions src/test/compile-fail/reserved-f16.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
// error-pattern:reserved keyword

fn main() {
let int f16 = 0;
}
5 changes: 5 additions & 0 deletions src/test/compile-fail/reserved-f80.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
// error-pattern:reserved keyword

fn main() {
let int f80 = 0;
}
5 changes: 5 additions & 0 deletions src/test/compile-fail/reserved-m128.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
// error-pattern:reserved keyword

fn main() {
let int m128 = 0;
}
5 changes: 5 additions & 0 deletions src/test/compile-fail/reserved-m32.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
// error-pattern:reserved keyword

fn main() {
let int m32 = 0;
}
5 changes: 5 additions & 0 deletions src/test/compile-fail/reserved-m64.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
// error-pattern:reserved keyword

fn main() {
let int m64 = 0;
}
6 changes: 3 additions & 3 deletions src/test/run-pass/lib-io.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
// -*- rust -*-

use std;
import std._io;
import std.io;
import std._str;

fn test_simple(str tmpfilebase) {
Expand All @@ -11,11 +11,11 @@ fn test_simple(str tmpfilebase) {
log frood;

{
let _io.buf_writer out = _io.new_buf_writer(tmpfile, vec(_io.create()));
let io.buf_writer out = io.new_buf_writer(tmpfile, vec(io.create()));
out.write(_str.bytes(frood));
}

let _io.buf_reader inp = _io.new_buf_reader(tmpfile);
let io.buf_reader inp = io.new_buf_reader(tmpfile);
let str frood2 = _str.from_bytes(inp.read());
log frood2;
check (_str.eq(frood, frood2));
Expand Down