5302 Commits

Author SHA1 Message Date
Marijn Haverbeke
142f63fe78 Tie up the last ends in destination-passing-conversion
Closes 
2011-10-05 12:23:18 +02:00
Marijn Haverbeke
3bc3f96138 Make trans_lval lval-only
Call trans_temp_lval if you want the old fallback-to-temporary behaviour.

Issue 
2011-10-05 11:51:41 +02:00
Marijn Haverbeke
2cc0008ec0 Add trans_temp_expr for what used to be trans_expr, rename t_e_dps to trans_expr
Issue 
2011-10-05 11:26:27 +02:00
Marijn Haverbeke
975ac55b3d Lose the by_ref destination style
It's not needed.

Issue 
2011-10-05 10:41:30 +02:00
Marijn Haverbeke
babd1ff3c7 Revert "Revert "Reorganize translation of expr_field""
This reverts commit 11e407aaa917dbd646f80aaff2457942481877c8.
2011-10-05 10:21:57 +02:00
Marijn Haverbeke
c33e61e75c Revert "Revert "Get rid of 'overwrite' destination kind""
This reverts commit ce9e0fc94f4a74594e7b342d128b3713b53ef0d7.
2011-10-05 10:21:48 +02:00
Marijn Haverbeke
062aa3272c Revert "Revert "Move trans_call to destination_passing style""
This reverts commit 276dfc6133f3c7d3b40778789f72379800f62176.
2011-10-05 10:21:40 +02:00
Brian Anderson
1f2e999262 Use std::os::get_exe_path to determine sysroot 2011-10-04 21:35:06 -07:00
Brian Anderson
1391154b14 Use util::filesearch to locate intrinsics.bc and main.o 2011-10-04 21:35:06 -07:00
Brian Anderson
ebcc76d68d Move the library search into util::filesearch 2011-10-04 21:35:06 -07:00
Brian Anderson
b25e78524c Fix some comment drift 2011-10-04 21:35:06 -07:00
Brian Anderson
33ee73102d Remove some redundancy in metadata::creader 2011-10-04 21:35:06 -07:00
Brian Anderson
d91b7b61ef Encapsulate current sysroot and lib path handling into util::filesearch 2011-10-04 21:35:06 -07:00
Brian Anderson
a8ce543dc9 Add std::os::get_exe_path
Need this to correctly determine sysroot in rustc
2011-10-04 21:35:06 -07:00
Brian Anderson
a0a4d34e14 Add std::ctypes 2011-10-04 21:35:06 -07:00
Brian Anderson
2124839cd7 Hide unused variable warnings in stdtest::treemap 2011-10-04 21:35:06 -07:00
Brian Anderson
6f5a0c7500 Add std::fs::normalize 2011-10-04 21:22:03 -07:00
Brian Anderson
51ae30287b Add std::fs::split 2011-10-04 20:18:04 -07:00
Patrick Walton
0e5ea4d64f Revert "stdlib: Migrate rust_file_is_dir() over to the C stack, and add a void type" due to build bustage on Windows
This reverts commit 9698ef89a0c5513b9670f6ec56ea06de5728eb5a.
2011-10-04 18:24:30 -07:00
Patrick Walton
9698ef89a0 stdlib: Migrate rust_file_is_dir() over to the C stack, and add a void type 2011-10-04 18:20:22 -07:00
Patrick Walton
990233eb3d rustc: Allow calling native functions on the C stack that take generic arguments. They get turned into i8 pointers. 2011-10-04 17:41:57 -07:00
Patrick Walton
276dfc6133 Revert "Move trans_call to destination_passing style"
This reverts commit 6e56ec0066b3cc8d18365370f0b856670dc748bd.
2011-10-04 17:05:35 -07:00
Patrick Walton
ce9e0fc94f Revert "Get rid of 'overwrite' destination kind"
This reverts commit 6e652588bfb3edea298026f56648057677b0fa3f.
2011-10-04 17:05:27 -07:00
Patrick Walton
11e407aaa9 Revert "Reorganize translation of expr_field"
This reverts commit 007ec666ad4a529682c35936d85ac81f7979f1b6.
2011-10-04 17:05:16 -07:00
Patrick Walton
af60cf407c rt: Switch the AIO stuff to the C stack 2011-10-04 12:08:06 -07:00
Marijn Haverbeke
007ec666ad Reorganize translation of expr_field
Issue 
2011-10-04 17:52:23 +02:00
Marijn Haverbeke
6e652588bf Get rid of 'overwrite' destination kind
It wasn't safe (computing the rval might invalidate the lval addr), and needlessly
complicating things (code was already building up intermediary results to work
around other unsafeties).

Issue 
2011-10-04 17:52:23 +02:00
Marijn Haverbeke
6e56ec0066 Move trans_call to destination_passing style
Issue 

The retptr passed to a function will now often be the actual
destination of the returned value (as in `{field1: func1()}`).
2011-10-04 17:41:34 +02:00
Patrick Walton
53c9b9a5dd rt: Switch the libuv bindings over to not using explicit task pointers 2011-10-03 18:23:30 -07:00
Patrick Walton
3ad4fa00ac rt: Fix comment typo in rust_uv.cpp 2011-10-03 18:23:30 -07:00
Patrick Walton
a7b44e847a rt: Make the builtins no longer take an explicit task parameter 2011-10-03 18:23:30 -07:00
Brian Anderson
b5bb42acfb XFAIL run-fail/linked-failure4. Deadlocks on mac 2011-10-03 14:46:52 -07:00
Patrick Walton
968b66ad40 rustc: Implement C stack stdcall 2011-10-03 13:59:38 -07:00
Brian Anderson
3a6f3cf275 Move compiletest to src/ and cleanup build rules 2011-10-02 17:28:59 -07:00
Haitao Li
e50371060b rustc: Fix link error on Ubuntu Oneiric. Issue 2011-10-02 21:29:16 +08:00
Patrick Walton
42287d0fd3 rustc: Call LLVM on the C stack 2011-09-30 18:50:07 -07:00
Patrick Walton
4793a02376 rt: Omit leading underscore on symbol names on Linux 2011-09-30 18:50:05 -07:00
Patrick Walton
e9287e55cc rustc: Stub a --stack-growth option; it's behind a flag for now because it requires patches to LLVM. 2011-09-30 18:21:39 -07:00
Brian Anderson
f525f6e94c Register new snapshots 2011-09-30 18:03:54 -07:00
Brian Anderson
821dd6c02c Change the directory for target libs
This pushes them down from stageN/lib/rustc/$(target) to
stageN/lib/rustc/$(target)/lib in order to make room for a target bin dir
2011-09-30 17:19:24 -07:00
Patrick Walton
c065280a0b rustc: Remove some debug code 2011-09-30 14:26:06 -07:00
Patrick Walton
7ab0897ac6 rustc: Track link_args attributes on C stack cdecl natives as well 2011-09-30 14:25:10 -07:00
Patrick Walton
dcf0e807fb trans: Use inttoptr as appropriate when casting return values of C stack functions 2011-09-30 12:07:50 -07:00
Brian Anderson
de6d07abf9 Register snapshots and finish filesystem reorg 2011-09-29 23:33:44 -07:00
Brian Anderson
80829af872 Remove legacy library search paths 2011-09-29 23:12:31 -07:00
Brian Anderson
b569e9c657 Update snapshot scripts for the new regime 2011-09-29 22:58:34 -07:00
Brian Anderson
196cc6de2e Teach compiletest to construct the PATH variable correctly on win32 2011-09-29 22:58:34 -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