1884 Commits

Author SHA1 Message Date
Patrick Walton
c0741c13ab Remove the global bindings table in the typechecker 2010-11-22 17:14:18 -08:00
Graydon Hoare
d3cb25d5d1 Check and translate 'as' cast-operator, lower target-specific types, reindent rustc.rs, enable uint test. 2010-11-22 16:27:00 -08:00
Graydon Hoare
c262543d3b Fix type disagreements in lowering typeck.ty to llvm TypeRefs, enable complex.rs test. 2010-11-22 14:28:05 -08:00
Graydon Hoare
1090c5e69c Check for structural equality rather than structural-and-cname equality. 2010-11-22 13:24:53 -08:00
Graydon Hoare
6fcf55347e Resolve the easy case of type paths. 2010-11-22 13:24:53 -08:00
Graydon Hoare
3ba6736383 More typeck hacking, check if and call exprs, enable fact and deep tests. 2010-11-21 12:06:09 -08:00
Graydon Hoare
5955e23343 Typecheck assignment exprs, redo decl checking, propagate ty_vars. Enable another test. 2010-11-21 01:16:16 -08:00
Graydon Hoare
79a3811ab8 Typecheck binary, unary and name expressions. Re-enable 3 more tests. 2010-11-20 23:00:52 -08:00
Graydon Hoare
77670e84de Fix bug in llvm type signature of function items; enable three more tests. 2010-11-20 22:05:17 -08:00
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