Commit Graph

6707 Commits

Author SHA1 Message Date
Stefan Plantikow 50db7ce906 Moved std::math to std::core
- merges math and float into core::float
- Splits core::ctypes into core::ctypes and core::mtypes
- cmath is not exported
- stdtest::math passes
2011-12-14 14:54:16 -08:00
Stefan Plantikow 6d0901cb4d std: export math_f* as math::f* submods and use tailcalls in std::math 2011-12-14 14:54:16 -08:00
Niko Matsakis 6cdb69cccb refactor trans into trans_closure; restore original closure repr 2011-12-14 14:32:28 -08:00
Niko Matsakis 5a5f33c779 treat native fns as shared closures 2011-12-14 14:32:27 -08:00
Niko Matsakis d32d0f28d5 insert a field into the closure storing number of ty descs 2011-12-14 14:32:27 -08:00
Niko Matsakis f7cce6b819 pull out the code from iter_structural_ty for handling functions,
as we will have to do very careful and non-generic things
2011-12-14 14:32:26 -08:00
Niko Matsakis 7c7cb26487 treat different kinds of closures differently 2011-12-14 14:32:25 -08:00
Niko Matsakis 35fe86dab7 export upcall_clone_type_desc 2011-12-14 14:32:25 -08:00
Niko Matsakis 1869306a7e change syntax from lambda[send] to sendfn 2011-12-14 14:32:24 -08:00
Niko Matsakis f512e67fb9 clone type desc into exchange heap 2011-12-14 14:32:24 -08:00
Niko Matsakis 85f381fb8a restructure, temporarily working around what looks like an LLVM bug 2011-12-14 14:32:23 -08:00
Niko Matsakis eaaa3c30bf translate unique closure env better 2011-12-14 14:32:23 -08:00
Niko Matsakis e51c29fab0 remove unused options 2011-12-14 14:32:22 -08:00
Niko Matsakis 6b744b284e remove extra trailing semicolon 2011-12-14 14:32:21 -08:00
Niko Matsakis ba6da950f1 restore old functionality for now 2011-12-14 14:32:21 -08:00
Niko Matsakis 6a8cb704d9 get basic code generation working, clone type descs for lambda[send] 2011-12-14 14:32:20 -08:00
Niko Matsakis 36177dd3e9 make fact that trans'ing lvar does not modify bcx explicit in type 2011-12-14 14:32:20 -08:00
Niko Matsakis 7fbca4e31c sendable functions now "work", meaning pass through trans/typestate
but they do not generate correct code
2011-12-14 14:32:19 -08:00
Niko Matsakis aa1cd61c84 push changes through to get things compiling, if not running. 2011-12-14 14:32:18 -08:00
Niko Matsakis c28ada0368 first attempt, not happy with it 2011-12-14 14:32:18 -08:00
Niko Matsakis 941101a9cd define ty and update parser for sendable lambdas 2011-12-14 14:32:17 -08:00
Brian Anderson 327ec89f69 Register snapshots 2011-12-14 14:11:53 -08:00
Brian Anderson 5b35c9caf5 rustc: Always write split stack prologues 2011-12-14 11:07:48 -08:00
Brian Anderson 283cf35415 build: Call llvm-config with the .exe extension on windows 2011-12-13 22:43:35 -08:00
Brian Anderson ecdeffbe3d build: Fix definition of LLC/LLVM_AS
Using bindir doesn't work on windows anymore. Something to do with us not
actually installing it, but running directly from the build directory, maybe
just an LLVM bug.
2011-12-13 19:48:17 -08:00
Brian Anderson f0254e1e0d rt: Add a FIXME to 32-bit __morestack about trashing %eax 2011-12-13 19:13:17 -08:00
Brian Anderson f332643e7f rt: Use %ecx instead of %eax during the second half of __morestack
If Rust code made use of return values then using %eax here would clobber it
2011-12-13 18:26:56 -08:00
Brian Anderson a195ab2dd9 Update LLVM. Fixes for segmented stacks with fastcc functions 2011-12-13 17:09:02 -08:00
Graydon Hoare f09eb2086d Merge pull request #1292 from boggle/fix1291
Changes to configure (Fix for #1291)
2011-12-13 16:49:47 -08:00
Stefan Plantikow 9c4b3c26f0 Changes to configure (Fix for #1291) 2011-12-14 01:46:08 +01:00
Graydon Hoare fa9ad984fb Copy first batch of material from libstd to libcore. 2011-12-13 16:34:50 -08:00
Brian Anderson 32087f5c2a rt: Don't clobber fastcc argument registers in __morestack 2011-12-13 15:54:14 -08:00
Patrick Walton be3352939a llvm: Fix LLVM submodule revision 2011-12-13 15:34:04 -08:00
Patrick Walton cd0e57d2d4 stdlib: Fix spelling errors in documentation of libstd/str.rs 2011-12-13 14:53:14 -08:00
Brian Anderson 21cf9c8698 build: Touch llvm-config after building
llvm-config is the file we base our LLVM build rule on, but rebuilding LLVM
doesn't always rebuild it, so touch.
2011-12-13 14:32:32 -08:00
Graydon Hoare 202260f19e Attempt to fix windows builder. 2011-12-13 12:32:00 -08:00
Brian Anderson c9b14cc0dd build: Set 'all' as the default goal. Closes #1290 2011-12-13 12:02:17 -08:00
Graydon Hoare 31b9bd5b33 Merge branch 'master' of github.com:graydon/rust 2011-12-13 11:02:03 -08:00
Graydon Hoare 548fe0eda9 Register new snapshots and teach snapshot script to deal with extracting new-style versioned snapshots. 2011-12-13 10:54:48 -08:00
Marijn Haverbeke 7c3d78013a Reorganize some code in typeck
This should cut down a lot on the amount of closures being allocated, and removes
some duplicated code.
2011-12-13 15:28:22 +01:00
Niko Matsakis a98dec035f fix track alloc code 2011-12-12 18:25:17 -08:00
Brian Anderson 1c1bc2f1cd rt: Remove some duplicated code from 64-bit __morestack 2011-12-12 16:58:21 -08:00
Haitao Li 76f13c95a0 rustc: Work around a segmentation fault
On Linux/Mac, I got a segmentation fault:

  (gdb) bt
  #0  0x00000000007519af in glue_take584 ()
  #1  0x00000000006d4bec in
    back::rpath::get_rpath_flags::_3899df2ca513c603 ()
  #2  0x00000000006c7655 in back:🔗:link_binary::_7afde00a9791031c ()
  #3  0x00000000007d3ff5 in driver::rustc::compile_input::thunk9212 ()
  #4  0x0000000000710f24 in driver::rustc::time::_3e691b2a4ba58aee ()
  #5  0x000000000071a79d in
    driver::rustc::compile_input::_7b4a41b87c18e034 ()
  #6  0x000000000072f0a9 in driver::rustc::main::_cd8b8c8185af3dee ()
  #7  0x000000000072f1ed in _rust_main ()
  #8  0x00007ffff7e6e146 in task_start_wrapper (a=<optimized out>) at
    ../src/rt/rust_task.cpp:176

The variable `output` or `out_filename` becomes (null) after the definition
of `fn unlib`. Move the function defintion to the beginning seems
prevent the crash on Linux.
2011-12-12 16:15:29 -08:00
Haitao Li 6c6f83f693 rustc: Refactor and get built on Windows 2011-12-12 16:15:29 -08:00
Haitao Li ba0649cb41 rustc: Hash includes direct dependent crates 2011-12-12 16:15:29 -08:00
Haitao Li f3c206c9f4 rustc: Encode crate hash into metadata 2011-12-12 16:15:29 -08:00
Haitao Li 2ba317ddb2 build: Temp hack to make transition to new snapshot 2011-12-12 16:15:29 -08:00
Haitao Li 03d1644acc Update snapshot scripts to pick up the versioned libraries 2011-12-12 16:15:29 -08:00
Haitao Li 6dbd4c21e9 rustc: build versioned library with hash in its name
Also updated build to install versioned libraries and added a few
missing actions for `make clean`.
2011-12-12 16:15:29 -08:00
Haitao Li b4f450a793 Using filename when finding libraries for linking
Revert #999 commit 16dad84f7b
2011-12-12 16:15:29 -08:00