Commit Graph

7000 Commits

Author SHA1 Message Date
Graydon Hoare
05e7374e29 Expand rustc's fold to update env on block boundaries. 2010-10-18 14:36:40 -07:00
Graydon Hoare
7801ba9dfe Make type errors in rustboot report the friendly type of both expected and actual. 2010-10-18 14:36:17 -07:00
Graydon Hoare
783be711f5 Flesh out the std.list module a touch. 2010-10-18 14:35:44 -07:00
Patrick Walton
1c3e95e0a5 Roll back the expr->lval change. We're now LL(1) again. 2010-10-18 11:31:31 -07:00
Graydon Hoare
57c7e94c8f Encode and decode tag types in dwarf properly. Add list module to std. Shift rustc to use std.util.option. Fix various dependent bugs. Closes #73. 2010-10-15 22:09:09 -07:00
Graydon Hoare
fc2d4828e7 Finish the fold drivers in fold.rs. 2010-10-14 18:14:09 -07:00
Patrick Walton
5826a2e3de rustc: Parse field and vector indexing expressions 2010-10-14 17:42:06 -07:00
Graydon Hoare
ff4e9f9141 Enable resolve pass in rustc. Doesn't do much yet aside from an incomplete identity fold, but no longer crashes. 2010-10-14 15:53:28 -07:00
Graydon Hoare
6993346e7d Stop using bound refs (don't work; leak) and work around auto-deref vec-append bug. 2010-10-14 15:52:42 -07:00
Graydon Hoare
5a51716790 Fix mem += mem bug in vec-append. 2010-10-14 15:51:54 -07:00
Graydon Hoare
09b12d167f Fix typos in Type.friendly_stringify. 2010-10-14 15:27:50 -07:00
Patrick Walton
699ef987d7 rustc: Start work on lvals 2010-10-14 15:20:27 -07:00
Patrick Walton
c7ab80f743 Typecheck tags in "alt" patterns 2010-10-14 15:08:19 -07:00
Graydon Hoare
f234750d80 Fix crasher in rustc. 2010-10-14 12:41:48 -07:00
Graydon Hoare
668f3a90a8 Move the friendly-names table to semant, reuse it in the name mangler. 2010-10-13 17:15:25 -07:00
Graydon Hoare
52c2a1549c Fetch typarams from the outermost item frame, when inside an iter-block. One less crash in rustc. 2010-10-13 15:53:38 -07:00
Patrick Walton
1e19fc969e Use "friendly" types throughout the typechecker 2010-10-13 15:34:18 -07:00
Patrick Walton
45a61b5191 Don't run tidy inside etc/. Should put out the burning tinderbox. 2010-10-13 15:21:42 -07:00
Patrick Walton
e129a9b4ce Use the user-defined type aliases when reporting type errors 2010-10-13 15:14:04 -07:00
Patrick Walton
5c622b6ecb rustc: Lex identifiers that have numbers in them too 2010-10-13 11:02:56 -07:00
Patrick Walton
d50d481529 rustc: Parse vector types 2010-10-13 10:55:20 -07:00
Patrick Walton
b7e6d9895e First stab at a Vim syntax highlighter for Rust 2010-10-13 10:43:19 -07:00
Graydon Hoare
69ae63d4b0 Fix horribly embarassing signedness bug in backend, plus related regressions. 2010-10-12 16:51:27 -07:00
Patrick Walton
81a43ef698 rustc: Add mutability to tuple literals 2010-10-12 16:30:44 -07:00
Patrick Walton
b1ca4da3b3 rustc: Parse box types 2010-10-12 14:54:49 -07:00
Patrick Walton
a41aa5595b rustc: Parse tuple types 2010-10-12 14:15:59 -07:00
Graydon Hoare
beb4c07e26 Git index wins again. 2010-10-12 12:28:46 -07:00
Graydon Hoare
76f7b043bc Changes to make rustboot compile on OCaml 3.12 2010-10-12 12:16:35 -07:00
Patrick Walton
0415841504 rustc: Add the tuple type to the AST 2010-10-11 18:42:10 -07:00
Patrick Walton
c9afe78c0c Parse autos 2010-10-11 18:20:25 -07:00
Patrick Walton
8a7a0308e3 rustc: Parse lets 2010-10-11 18:13:14 -07:00
Patrick Walton
a2c9879442 rustc: Say "expected expression" instead of "expected literal" when we expect an expression 2010-10-11 17:21:36 -07:00
Patrick Walton
5177898db1 Use new and delete instead of alloca(). Should put out the burning tinderbox. 2010-10-11 17:11:59 -07:00
Patrick Walton
94cec74096 Try to print backtraces on failure 2010-10-11 16:40:18 -07:00
Patrick Walton
99086292ac Bind labels explicitly in fe/cexp.ml. Should fix issue #169. 2010-10-11 10:51:57 -07:00
Graydon Hoare
594cf63214 Remove obsolete comment, issue was fixed with last checkin. 2010-10-10 00:17:41 -07:00
Graydon Hoare
caaf8679d8 Teach bind to actually bind typarams, as it claims to. 2010-10-10 00:14:26 -07:00
Graydon Hoare
9fc963842d Subject copying code to inline heuristic, cut 30kb from rustc. 2010-10-09 01:35:50 -07:00
Graydon Hoare
a441865f6e Actually do what I meant to in the inline threshold. Don't drink and code. Cut rustc by 50kb. 2010-10-09 01:02:13 -07:00
Graydon Hoare
967a6f861d Elide mark and sever glue in -minimal mode. 2010-10-09 00:47:02 -07:00
Graydon Hoare
3e513008b1 More type-fold caches, shave another second off compile time. 2010-10-09 00:31:26 -07:00
Graydon Hoare
f956067867 Implement a -minimal mode prologue, cut 100kb from rustc. 2010-10-08 23:58:48 -07:00
Graydon Hoare
39f51b31df Quad counters are revealing. Move drops out-of-line, cut 200kb from rustc. 2010-10-08 23:32:18 -07:00
Graydon Hoare
ef5a64e2cf Add quad-counting system. 2010-10-08 23:25:37 -07:00
Graydon Hoare
71c266f937 Fix logging bug. 2010-10-08 23:17:29 -07:00
Graydon Hoare
81e791d7b9 Add a tag cache for the cases we can't avoid hitting fold; cut rustc compile time by 50%. 2010-10-08 17:43:46 -07:00
Graydon Hoare
97a6b0935b More fold caches, cut rustc compile time by 60% again. 2010-10-08 15:56:17 -07:00
Graydon Hoare
f1e2c379cb Cache referent-type calculations in rustboot; cut rustc compile time by 60%. 2010-10-08 15:17:27 -07:00
Graydon Hoare
5f2459145c Add -lpath mechanism for logging only a subset of a pass (by module-path prefix) 2010-10-08 14:54:51 -07:00
Patrick Walton
e3758fe321 rustc: Make functions output a type, not a slot 2010-10-08 12:26:34 -07:00