Graydon Hoare
|
eaf9df2dc3
|
Remove dead code.
|
2010-11-20 22:04:48 -08:00 |
|
Graydon Hoare
|
e731520be5
|
Add helper function to double-check non-null types.
|
2010-11-20 22:04:34 -08:00 |
|
Graydon Hoare
|
244c59ac20
|
Clean up typechecker file, disable all tests that fail under typechecker.
|
2010-11-19 20:46:04 -08:00 |
|
Graydon Hoare
|
6d92ca64a7
|
Translate typeck.ty_fn to a TypeRef. Can compile int.rs test now.
|
2010-11-19 20:08:57 -08:00 |
|
Patrick Walton
|
c00bda539d
|
rustc: First stab at a typechecker
|
2010-11-19 17:50:45 -08:00 |
|
Graydon Hoare
|
a352efadad
|
Switch upcall glues to fastcall as well.
|
2010-11-14 13:41:10 -08:00 |
|
Graydon Hoare
|
4cbef9d8a1
|
Remove outptr from module-internal calls; use standard ABI returns.
|
2010-11-14 13:04:01 -08:00 |
|
Graydon Hoare
|
640d167037
|
Switch module-internal calls (i.e. all user code) to fastcall. Still returning via explicit outptr. Activate glue works by accident.
|
2010-11-14 12:28:07 -08:00 |
|
Graydon Hoare
|
a7af86155d
|
Support emitting trap instructions for debugging.
|
2010-11-14 11:21:49 -08:00 |
|
Graydon Hoare
|
2de59aa6b9
|
Correct infinite-loop, block-context mismatches in early cleanups.
|
2010-11-14 10:48:44 -08:00 |
|
Graydon Hoare
|
0578978495
|
Move phi-node generation into a helper that measures the liveness of each incoming edge. Factorial test now succeeds.
|
2010-11-12 14:51:11 -08:00 |
|
Graydon Hoare
|
2ff0662eae
|
Load outptr alloca as retval; function call/return now works in rustc.
|
2010-11-12 11:48:18 -08:00 |
|
Graydon Hoare
|
1ff88982fe
|
Stop translating a block when a sub-statement terminates the llvm bb.
|
2010-11-12 10:15:40 -08:00 |
|
Patrick Walton
|
c3bc88a325
|
rustc: Add an annotation to function and type items so that the typechecker can store types with them
|
2010-11-10 18:20:02 -08:00 |
|
Graydon Hoare
|
d1e7f0b414
|
Redo the scheme for block context chaining and termination, to simplify and support ret better.
|
2010-11-10 17:46:49 -08:00 |
|
Graydon Hoare
|
a404e54261
|
Teach rustc about const tag value, begin work on trans_copy_ty, make uint's to_str routine less clever and thereby resist overflow.
|
2010-11-09 17:50:31 -08:00 |
|
Graydon Hoare
|
216082d040
|
Translate ast.box unary expressions and support extraction of TypeRefs from AST annotations.
|
2010-11-05 18:31:24 -07:00 |
|
Graydon Hoare
|
c1fb592f62
|
Emit WinMain@16 entrypoint on windows.
|
2010-11-05 18:31:22 -07:00 |
|
Graydon Hoare
|
981edaef40
|
Fix two incorrect block-context uses in rustc.
|
2010-11-05 18:31:21 -07:00 |
|
Graydon Hoare
|
2122e363df
|
Teach rustc to generate type descriptors.
|
2010-11-05 18:31:20 -07:00 |
|
Patrick Walton
|
35eb088ae3
|
rustc: Implement function types
|
2010-11-05 15:23:03 -07:00 |
|
Patrick Walton
|
adb1754e4d
|
Move the option type to its own module
|
2010-11-05 11:18:40 -07:00 |
|
Patrick Walton
|
2fcf81cc4b
|
Revert "Move the option type to its own module"
|
2010-11-05 10:41:23 -07:00 |
|
Patrick Walton
|
1d214b4df3
|
Move the option type to its own module
|
2010-11-05 10:23:22 -07:00 |
|
Graydon Hoare
|
16faef2218
|
Fix buggy while and do-while translation in rustc. Add test.
|
2010-11-04 07:55:33 -07:00 |
|
Patrick Walton
|
a3d666bfdf
|
rustc: Use an extensible annotation field instead of putting option[@ty] everywhere
|
2010-11-03 15:54:46 -07:00 |
|
Graydon Hoare
|
e5fdd7b63a
|
Support while and do-while loops in rustc.
|
2010-11-03 11:05:15 -07:00 |
|
Graydon Hoare
|
7db115834f
|
Split out stratum-checking pass, implement more-strict (overly aggressive) impure-effect checking.
|
2010-11-02 15:24:46 -07:00 |
|
Graydon Hoare
|
f3b7aa9068
|
Long line police.
|
2010-10-22 19:37:03 -07:00 |
|
Graydon Hoare
|
3bf775e80f
|
Pass outptr as in rustboot. Probably need to revisit this ABI. Also disgusting hack employed. Please remove.
|
2010-10-22 19:35:48 -07:00 |
|
Graydon Hoare
|
b2f07c6056
|
Collect all fns first so decl order doesn't matter to translation.
|
2010-10-22 19:31:33 -07:00 |
|
Graydon Hoare
|
d4497e481e
|
Extremely broken hacked-up incorrect attempt at 'ret'.
|
2010-10-22 19:23:10 -07:00 |
|
Graydon Hoare
|
6d47d2abde
|
Implement check-exprs, un-xfail 5 rustc tests.
|
2010-10-22 15:37:42 -07:00 |
|
Graydon Hoare
|
6ec402d4a6
|
Add makefile bits to run rustc on the testsuite as part of 'make check'. Mostly xfailed.
|
2010-10-22 14:46:03 -07:00 |
|
Graydon Hoare
|
36aea66e47
|
Give rustc the beginnings of an option-processing loop (at least -nowarn, -h and -o).
|
2010-10-22 11:47:28 -07:00 |
|
Graydon Hoare
|
3f80e79efc
|
Add support for passing args to fns in rustc.
|
2010-10-21 18:13:57 -07:00 |
|
Graydon Hoare
|
67477b85ae
|
Support basic function calls in rustc.
|
2010-10-21 17:24:26 -07:00 |
|
Graydon Hoare
|
368943998d
|
Translate lazy && and || operators in rustc.
|
2010-10-19 17:24:15 -07:00 |
|
Graydon Hoare
|
71b1f1d117
|
Parse and translate assignments.
|
2010-10-19 16:33:11 -07:00 |
|
Graydon Hoare
|
b8cca0971f
|
Teach trans to allocate, initialize and load from local variables.
|
2010-10-19 14:54:10 -07:00 |
|
Patrick Walton
|
10d628dbd0
|
Add a type slot to the AST
|
2010-10-19 13:28:43 -07:00 |
|
Patrick Walton
|
e497fe981b
|
Partial work on adding types to the AST
|
2010-10-19 13:10:39 -07:00 |
|
Graydon Hoare
|
4a3edb320d
|
Store items and decls in vecs to preserve input order, index externally. Implement block-local name lookup.
|
2010-10-18 18:19:16 -07:00 |
|
Graydon Hoare
|
865bbae685
|
More work on resolving names in rustc. Basic expr_name lookup working on items and args.
|
2010-10-18 16:15:25 -07:00 |
|
Graydon Hoare
|
67d4427345
|
Begin sketching name lookup in rustc.
|
2010-10-18 14:37:30 -07:00 |
|
Graydon Hoare
|
05e7374e29
|
Expand rustc's fold to update env on block boundaries.
|
2010-10-18 14:36:40 -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 |
|
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 |
|
Patrick Walton
|
699ef987d7
|
rustc: Start work on lvals
|
2010-10-14 15:20:27 -07:00 |
|
Patrick Walton
|
81a43ef698
|
rustc: Add mutability to tuple literals
|
2010-10-12 16:30:44 -07:00 |
|
Patrick Walton
|
8a7a0308e3
|
rustc: Parse lets
|
2010-10-11 18:13:14 -07:00 |
|
Patrick Walton
|
e3758fe321
|
rustc: Make functions output a type, not a slot
|
2010-10-08 12:26:34 -07:00 |
|
Graydon Hoare
|
785d9b1594
|
Add a little code to resolve, to check that the fold interface works.
|
2010-10-07 18:34:22 -07:00 |
|
Graydon Hoare
|
b184be07e1
|
Revise folds to be much-less-polymorphic after some discussion; flesh out stmt and expr fold drivers.
|
2010-10-07 16:42:48 -07:00 |
|
Graydon Hoare
|
fa5ef4cfb6
|
Add the beginnings of an ast folder plus an empty module for resolve.
|
2010-10-06 18:36:28 -07:00 |
|
Graydon Hoare
|
5f2d35ed08
|
Make ast node box uses more uniform in rustc.
|
2010-10-06 15:41:14 -07:00 |
|
Graydon Hoare
|
d1e59d6910
|
Add input coordinate tracking to all major rustc ast nodes.
|
2010-10-05 18:21:44 -07:00 |
|
Graydon Hoare
|
44e4b2d63a
|
Teach rustc about phi nodes, block relationships. Translate if- and block-expressions.
|
2010-10-04 15:55:12 -07:00 |
|
Graydon Hoare
|
a87e81b929
|
Support refcount-drop and conditional free in rustc.
|
2010-10-01 18:25:42 -07:00 |
|
Graydon Hoare
|
2e0d075407
|
Fix bug in bind thunks failing top drop unbound args; add test and adjust rustc to use bind again.
|
2010-09-30 17:39:37 -07:00 |
|
Graydon Hoare
|
b970563fe3
|
Patchwork of attempted fixes to effect system and gc system; eventually give up and disable it entirely in the runtime. Will need extensive reworking.
|
2010-09-29 17:22:13 -07:00 |
|
Graydon Hoare
|
f13306e8d6
|
Switch boolean operands to 1-bit, as llvm prefers. Will promote to 8-bit when storing to memory.
|
2010-09-28 16:17:28 -07:00 |
|
Graydon Hoare
|
5a4cb3ef36
|
Translate a modest selection of easy binops.
|
2010-09-28 14:01:21 -07:00 |
|
Graydon Hoare
|
11e72fd4e0
|
Translate literal int, char, bool and str types, as well as logging them.
|
2010-09-28 12:23:40 -07:00 |
|
Graydon Hoare
|
5b4b035c7a
|
Start building up the expression tower.
|
2010-09-27 18:25:02 -07:00 |
|
Graydon Hoare
|
f5787ed80c
|
Translate exit-task glue such that rustc's output programs exit properly.
|
2010-09-27 15:38:34 -07:00 |
|
Graydon Hoare
|
d31eca41d5
|
First linkable and executable translation from rustc. Upcalls to log, passes wrong arg, crashes. Baby steps.
|
2010-09-27 13:43:53 -07:00 |
|
Graydon Hoare
|
d53209c927
|
Construct the crate constant in rustc.
|
2010-09-24 16:41:01 -07:00 |
|
Graydon Hoare
|
b69a0c137c
|
Modify the task type to not contain any opaques; apparently these make LLVM cross.
|
2010-09-24 15:22:48 -07:00 |
|
Graydon Hoare
|
4cfc4250bf
|
More work on trans, almost getting to the point of emitting an upcall.
|
2010-09-24 14:56:04 -07:00 |
|
Graydon Hoare
|
274128c6b2
|
Add trans.get_upcall and skeleton for trans_log.
|
2010-09-23 18:38:37 -07:00 |
|
Graydon Hoare
|
2db1f864e2
|
Declare the global and upcall glues as ValueRefs in rustc's trans.
|
2010-09-23 17:16:34 -07:00 |
|
Graydon Hoare
|
46e46d0b49
|
Translate a bunch of the material (lltrans, llasm, abi) from rustboot to rustc, and move files around.
|
2010-09-23 15:46:31 -07:00 |
|