867 Commits

Author SHA1 Message Date
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
Graydon Hoare
e5fdd7b63a Support while and do-while loops in rustc. 2010-11-03 11:05:15 -07:00
Graydon Hoare
dc299c9a19 Teach rustc lexer about changes to stratum, opacity and effect keywords. 2010-11-03 10:29:48 -07:00
Graydon Hoare
1e22a55ff2 Code sketch and comment notes on textual crate signatures. 2010-11-03 09:50:25 -07:00
Graydon Hoare
7abf6eb7c6 Shift obj, type, param decls to have strata rather than effects. 2010-11-02 17:20:57 -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
da13c508d8 First pass on splitting stratum and opacity off of effects. WIP. 2010-11-02 11:11:58 -07:00
Patrick Walton
ccd62969c1 Un-XFAIL self tests on Darwin 2010-10-28 16:07:54 -07:00
Patrick Walton
c2480a3d60 Remove debug print message from the makefile 2010-10-28 16:06:04 -07:00
Patrick Walton
7303b8e115 Allow just the bootstrap LLVM backend to be disabled with NO_OCAML_LLVM=1 2010-10-28 16:03:45 -07:00
Patrick Walton
67bcc70754 rustboot: Emit an error instead of asserting in trans when a T is passed by value 2010-10-28 15:07:05 -07:00
Patrick Walton
b914e0e74c Revert "rustboot: Emit an error instead of asserting in trans when a T is passed by value" due to test failures
This reverts commit ee901858a27bf00c7dd66e7cfecb9dd97029dba8.
2010-10-28 15:04:48 -07:00
Patrick Walton
ee901858a2 rustboot: Emit an error instead of asserting in trans when a T is passed by value 2010-10-28 15:02:00 -07:00
Ralph Giles
3b3cd550d4 Cast NULL to uintptr_t when calling rust_task::start().
On gcc 4.5.1 (fedora 14 i686) rust_test_runtime.cpp fails to compile
with the following error:

  rt/test/rust_test_runtime.cpp:57:61: error: passing NULL to non-pointer argument 3 of ‘void rust_task::start(uintptr_t, uintptr_t, uintptr_t, size_t)’

The explicit cast works around the error.
2010-10-28 10:13:30 -07:00
Patrick Walton
679dca8541 Emit a sensible error message if one or more of the parameters isn't enough context to instantiate a polymorphic function 2010-10-27 15:06:19 -07:00
Patrick Walton
b3c4c1426a rustboot: Emit an error message instead of asserting on a type-param mismatch in tag constructors in patterns 2010-10-27 11:29:19 -07:00
Patrick Walton
3d0da75455 rustboot: For error reporting, map tag IDs to *tag* names, not to tag *variant* names 2010-10-26 15:37:49 -07:00
Patrick Walton
7e3c662b4f rustboot: Use a less hacky method to report tag names in error messages, which works for resolve errors as well 2010-10-26 14:52:31 -07:00
Patrick Walton
7ed8b781d5 Thread a source location though for type error reporting instead of the awful "List.hd scopes" hack 2010-10-25 18:16:34 -07:00
Patrick Walton
af39e222bc Merge commit '1875a36feecb7dab183a59ead2d0a342f733422e' 2010-10-25 17:58:41 -07:00
Patrick Walton
1875a36fee Prevent Not_found in the unfortunate case when we have to "friendly_stringify" a tag type we haven't yet recorded into cx.ctxt_all_tag_info 2010-10-25 17:58:24 -07:00