Commit Graph

5626 Commits

Author SHA1 Message Date
Brian Anderson 7dbce103fb Remove the redundant definition of STAGE in makefiles 2011-09-29 22:58:33 -07:00
Brian Anderson 4ee9b86384 Update make clean rules 2011-09-29 22:58:33 -07:00
Brian Anderson ab8338fb5a Make rustc's host triple agree with the build system's 2011-09-29 22:58:33 -07:00
Brian Anderson 0148daa058 Reorganize structure of build directory
Each stage is organized more according to Unix standards and to
accommodate multiple target architectures.

stageN/
  bin - rustc lives here
  lib - libraries that rustc needs
  lib/rustc/$(target_triple/ - target libraries
2011-09-29 22:58:33 -07:00
Patrick Walton 79e4961c7f rustc: Remove some debug code 2011-09-29 18:53:00 -07:00
Patrick Walton f9e3a604a6 rustc: Make the generic C stack function signature include a usable return value 2011-09-29 18:52:23 -07:00
Patrick Walton 5b6dbcb030 stdlib: Un-export str::buf; add a comment 2011-09-29 18:36:27 -07:00
Patrick Walton 3be6cf7ab2 vim: Add `pure` to the list of keywords 2011-09-29 18:18:37 -07:00
Patrick Walton dd7ff8dee4 stdlib: Export str::buf 2011-09-29 17:58:51 -07:00
Patrick Walton a5b422fe6b rustc: Translate calls on the C stack 2011-09-29 17:34:49 -07:00
Patrick Walton f22601321f rustc: Fix call signature for call_c_stack 2011-09-29 17:34:49 -07:00
Patrick Walton e31849fb79 rt: Fix assembler for C calls to work more like a regular function call 2011-09-29 17:34:49 -07:00
Patrick Walton 6dece91ed3 stdlib: Add vec::eachi to the standard library 2011-09-29 17:34:49 -07:00
Patrick Walton c04efec87f rustc: Add upcall stubs for the new C stack upcalls 2011-09-29 17:34:49 -07:00
Patrick Walton 41ab324539 rustc: Generate types in trans for the C-stack native ABI 2011-09-29 17:34:49 -07:00
Brian Anderson 4dafbcd992 doc: Don't merge function and concept index. There is no findex
This is causing errors on my windows install
2011-09-29 16:47:09 -07:00
Marijn Haverbeke e4436c3a5d Don't build up results for ignored expressions.
Issue #667
2011-09-29 12:02:37 +02:00
Marijn Haverbeke d74a7a83d7 Fail with an informative error when trying to bind a method
Issue #435
2011-09-29 11:55:29 +02:00
Marijn Haverbeke d243ea57f5 Move last remaining expression types out of trans_expr
Issue #667
2011-09-29 11:41:45 +02:00
Marijn Haverbeke f089f533e8 Move expr_cast and expr_copy to DPS style
Issue #667
2011-09-29 10:46:49 +02:00
Marijn Haverbeke d946e09a72 Move closure construction over to DPS style
Issue #667
2011-09-29 10:36:40 +02:00
Marijn Haverbeke 508c48ce10 Reduce move ops to a construct-in-place when possible 2011-09-29 10:36:40 +02:00
Brian Anderson 15e34deba3 Eliminate glue.o. Closes #990 2011-09-28 15:35:21 -07:00
Brian Anderson e1ba559c03 Test cases for #985
Other restrictions on pinned kinds happened to fix this

Closes #985
2011-09-28 15:35:21 -07:00
Brian Anderson cb4e99b688 Don't allow vectors of pinned kinds
Vectors of pinned kinds can't be safe because most interesting uses of vector
perform copies
2011-09-28 15:35:21 -07:00
Brian Anderson 14bac217b0 Make error patterns in some kind tests more specific 2011-09-28 15:35:21 -07:00
Patrick Walton f7d0c1cec3 rustc: Add a new "C stack cdecl" native ABI 2011-09-28 12:58:33 -07:00
Brian Anderson 657e3ffaf5 xfail-fast run-pass/alt-range.rs 2011-09-28 12:46:29 -07:00
Brian Anderson 381205b747 Revert "Revert "Implement pattern ranges for all numeric types.""
This reverts commit a034f87146.

Conflicts:

	src/comp/middle/check_alt.rs
	src/comp/middle/trans_alt.rs
	src/comp/syntax/ast.rs
	src/comp/syntax/ast_util.rs
	src/comp/syntax/fold.rs
	src/comp/syntax/print/pprust.rs

Conflicts:

	src/comp/middle/trans_alt.rs
2011-09-28 12:46:29 -07:00
Patrick Walton 5fac684af8 vim: `const` is a keyword 2011-09-28 12:40:34 -07:00
Patrick Walton d8a80cb31f rt: Add a call stub that switches to the C stack, untested as of yet 2011-09-28 12:26:36 -07:00
Patrick Walton 1eaaae860f rt: Add an upcall to allocate space on the C stack. This will be used for native calls on the C stack. 2011-09-28 11:31:44 -07:00
Patrick Walton e8757ea01f rt: Expose the C stack inside the Rust scheduler so that C calls can switch to it 2011-09-28 10:22:02 -07:00
Patrick Walton dbf472b0df rustc: Switch to cdecl for all calls. This is needed to make stack growth efficient, as I need to use eax and ecx in the function prologue and can't afford to stomp on incoming arguments. 2011-09-28 10:22:02 -07:00
Marijn Haverbeke 512cfb4b83 Remove a few kludges that worked around issue #913 2011-09-28 12:59:44 +02:00
Marijn Haverbeke c94159652a Register new snapshot
It had been a while. I mostly wanted a fix for #913 in stage0.
2011-09-28 12:56:54 +02:00
Marijn Haverbeke a3a27374bd Don't descend into functions from relax_precond_block
Closes #913
2011-09-28 12:37:28 +02:00
Marijn Haverbeke 759fc101fb Get rid of might_not_init kludge in init_local.
Initializing something is now safe wrt to cleanups (so the cleanup for the
local is only registered after the initialization.)
2011-09-28 11:12:35 +02:00
Marijn Haverbeke 16d5aaa962 Wait with registering cleanups for locals until after the init code ran
Fixes a double-cleanup that was breaking unwind-tup.rs under valgrind.
2011-09-28 10:41:19 +02:00
Marijn Haverbeke e3626c9405 Use DPS for assignment and local initialization
Issue #667
2011-09-28 09:42:04 +02:00
Brian Anderson a25119b0c5 Add Wade Mealing to AUTHORS.txt 2011-09-27 23:20:31 -07:00
Wade Mealing f375391cb6 Patch to error instead of crashing when parsing unmatched double quotes
Patch to error and fail instead of using all available memory
then crashing to detect the error condition of an unmatched
double quote before the end of a file.

I couldn't get it to show nice error messages, so this may not be
the ideal fix.

A test case for this situation has also been added.
2011-09-27 23:20:31 -07:00
Brian Anderson a96b16e8c3 Make it again possible to initialize resource locals via assignment
Some special cases allow both 'let a <- my_resource(x)' and
'let a = my_resource(x)' to work as expected despite ostensibly being
copies and moves.
2011-09-27 23:20:27 -07:00
Brian Anderson 459353e107 Prevent copies of resources into various things 2011-09-27 21:50:07 -07:00
Patrick Walton 9ba86178ef rt: Store the task in TLS 2011-09-27 18:12:03 -07:00
Brian Anderson 888e22aacc Add more comments about kind checking on local move initializers 2011-09-27 16:03:10 -07:00
Brian Anderson 8217e4bd38 Add xfailed tests that resources can't be copied into various things 2011-09-27 16:03:10 -07:00
Brian Anderson b8bb663df7 Don't ever raise unique kinds of pinned kinds to shared (again)
So *resource, ~resource, [resource] are all pinned. This is counter to the
design of the kind system, but this way is a much clearer path to type safety.
Once we've established a good baseline with lots of tests, then we can try to
make raising pinned kinds work.
2011-09-27 16:03:10 -07:00
Brian Anderson e50580aa66 Revert "Use DPS for assignment and local initialization"
This reverts commit b1b202d302.
2011-09-27 16:03:09 -07:00
Brian Anderson 1097463d96 Add an xfailed test for bogus deep copying of things containing resources 2011-09-27 14:28:20 -07:00