Graydon Hoare
d311719a75
Enable more now-passing tests for rustc (including function calls).
2010-11-19 11:04:10 -08:00
Graydon Hoare
6cecc93e8d
Disable LLVM backend in rustboot; more trouble than it's worth at this point.
2010-11-19 10:45:24 -08:00
Graydon Hoare
e94af48bc9
Work around Yet Another Typestate Lifecycle Bug in rustboot.
2010-11-19 10:41:32 -08:00
Patrick Walton
77ff12c435
rustboot: Don't use walk to traverse statements in type.ml; fixes redundant checking, improves diagnostics. Also report untyped slots.
2010-11-18 14:19:06 -08:00
Graydon Hoare
26ecec4e12
Update frame logic to be compatible with SysV x86 ABI. Improves diagnostics.
2010-11-16 13:51:32 -08:00
Graydon Hoare
44b051f34a
Fix typo in x86 backend glue that was, by luck, only crashing on OSX.
2010-11-15 12:45:26 -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
fce535c04a
Change PVAL_num to PVAL_int and remove non-int literal forms.
2010-11-13 22:39:41 -08:00
Graydon Hoare
ae570016a4
Remove dead code in cexp.
2010-11-13 22:34:48 -08:00
Patrick Walton
e02ffb2c2d
rustc: Add a type annotation for locals
2010-11-12 16:11:33 -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
Patrick Walton
3e482d5f69
Implement a map2() function in std._vec
2010-11-09 15:38:42 -08:00
Graydon Hoare
89946609f2
Support a special const-value refcount, use it for const strings.
2010-11-09 14:15:07 -08:00
Graydon Hoare
3e9be14757
Add a check for binding an alias. Good thing, as we had two instances in our library.
2010-11-08 15:45:30 -08:00
Graydon Hoare
c5720b2fc4
Fix linux burn caused by last commit on friday.
2010-11-08 13:36:03 -08:00
Graydon Hoare
049072db82
Update lltrans to also emit WinMain@16 on windows.
2010-11-05 18:45:06 -07: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
ffb3861c70
Move symbol prefix logic into separate function, add underscore prefix for windows.
2010-11-05 18:31:23 -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
Graydon Hoare
3956b98312
Switch rustc to llvm 2.8 rather than 2.8svn on windows.
2010-11-05 18:31:20 -07:00
Patrick Walton
de166745b8
rustboot: Report the alias-ness of function parameters in type errors
2010-11-05 18:27:34 -07:00
Patrick Walton
79015e2d59
rustboot: If something that wasn't a type was found where a type was expected, report where the error was
2010-11-05 17:31:35 -07:00
Patrick Walton
35eb088ae3
rustc: Implement function types
2010-11-05 15:23:03 -07:00
Patrick Walton
91b1885ba2
rustboot: Report mismatched effect qualifiers
2010-11-05 13:44:37 -07:00
Patrick Walton
199ff196aa
test_init_fn() in lib-vec.rs doesn't seem to segfault anymore. Un-XFAIL it.
2010-11-05 11:25:23 -07:00
Patrick Walton
adb1754e4d
Move the option type to its own module
2010-11-05 11:18:40 -07:00
Patrick Walton
e399926776
rustboot: Report cyclic import errors at the right location
2010-11-05 11:02:17 -07:00
Patrick Walton
2fcf81cc4b
Revert "Move the option type to its own module"
2010-11-05 10:41:23 -07:00
Patrick Walton
a58016d43e
rustboot: Describe the cycle when reporting a cyclic import error
2010-11-05 10:37:32 -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
896570a3a9
rustboot: When resolving recursively, build up error messages recursively as well
2010-11-03 19:15:16 -07:00
Patrick Walton
db955d33b7
rustboot: Say exactly which name was unbound when reporting unbound name errors
2010-11-03 18:42:35 -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
Ralph Giles
c038261762
Fix documentation: it's (&str s) not (str &s).
2010-11-03 15:37:56 -07:00
Ralph Giles
446932b5bc
Fix doc references to 'for each' syntax to match the compiler.
...
The rustboot compiler expects 'for each (type v in ...)' like 'for',
rather than 'for each (type v = ...)' as given in the documentation.
2010-11-03 15:37:55 -07:00
Ralph Giles
4af0db4d76
Make version.texi depend on rust.texi.
...
This will at least update the version string on the title page
when the book source changes. It may not be entirely accurate
since rust.texi may have uncommitted changes. But previously,
it was basically only ever updated on the first build or after
'make clean'.
2010-11-03 15:37:54 -07:00
Ralph Giles
c45d21eb9b
Fix two documentation typos.
2010-11-03 15:37:54 -07:00
Graydon Hoare
e5fdd7b63a
Support while and do-while loops in rustc.
2010-11-03 11:05:15 -07:00