Commit Graph

6709 Commits

Author SHA1 Message Date
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
Brian Anderson
887d970fee rt: Make unwinding through __morestack work on mac
Had to bump the min stack size in some of the tests from 256 bytes
to 1024 bytes. Not sure why yet.
2011-12-12 16:15:29 -08:00
Brian Anderson
3e32f6623c rt: Write CFI instructions that (might) work on mac in __morestack
The DW_CFA_val_offset_sf instruction doesn't seem to work on mac,
even after implementing it in the llvm-mc assembler, so now
I'm looking for a different way to communicate the stack pointer
adjustment to the unwinder.
2011-12-12 16:14:17 -08:00
Marijn Haverbeke
e47f8fc709 Handle external-crate case when printing full unresolved paths
Closes #1283
2011-12-12 13:36:29 +01:00
Brian Anderson
163c42baf8 Switch to the Rust fork of LLVM in preparation for enabling stack growth 2011-12-11 18:57:46 -08:00
Brian Anderson
7a8e73662d rt: Make unwinding through __morestack work on mac
Had to bump the min stack size in some of the tests from 256 bytes
to 1024 bytes. Not sure why yet.
2011-12-11 18:49:04 -08:00
Brian Anderson
7bc34f63d8 rt: Write CFI instructions that (might) work on mac in __morestack
The DW_CFA_val_offset_sf instruction doesn't seem to work on mac,
even after implementing it in the llvm-mc assembler, so now
I'm looking for a different way to communicate the stack pointer
adjustment to the unwinder.
2011-12-11 16:32:36 -08:00
Brian Anderson
b73caec3ce rt: Call upcall_fail on the C stack 2011-12-11 14:35:18 -08:00
Brian Anderson
5cd08586f6 rt: Add DWARF CFI info to asm_call_on_stack
This will allow the unwinder to unwind this function so we can call
upcall_fail on the C stack.
2011-12-11 14:35:09 -08:00
Brian Anderson
4699b6865f build: Use llvm-mc as our assembler
LLVM's assembler understands .cfi pseudo-ops on the mac, which we need in
order to generate frames that can be DWARF-unwound
2011-12-10 18:51:21 -08:00
Austin Seipp
638b51488f Disable unused features in the LLVM build.
Issue #1274 - should make the build a wee bit faster.
2011-12-09 19:27:18 -08:00
Elly Jones
f05eaa4a65 cargo: support github:<user>/<repo> 2011-12-09 14:21:21 -08:00
Elly Jones
0acf170c9f cargo: support git:// URIs. 2011-12-09 14:21:21 -08:00
Elly Jones
b53e4e8463 cargo: don't stick an extra / in CARGO_ROOT 2011-12-09 14:21:21 -08:00
Elly Jones
7b0c73d8fa cargo: refactor a bit 2011-12-09 14:21:21 -08:00
Elly Jones
7f945eeae9 cargo: support installing crates
Introduce the notion of CARGO_ROOT to override HOME if need be. Build packages
there instead of in /tmp. Install to CARGO_ROOT/bin and CARGO_ROOT/lib.
2011-12-09 14:21:21 -08:00
Erick Tryzelaar
e3a066bde8 Swap arg order for option::{may,maybe}
This lets us write the block syntax sugar:

option::may(x) { |y| … }
2011-12-09 10:22:24 -08:00
Marijn Haverbeke
44ffd8e3aa Allow type annotations for blocks
I.e. {|foo: int| -> int foo + 2}

Issue #1275
2011-12-09 09:42:22 +01:00
Brian Anderson
54f72fbc10 rustc: Actually hook the crate_type attribute into session 2011-12-08 21:31:50 -08:00
Brian Anderson
4f17131855 Add crate_type attributes to rustc, std, core 2011-12-08 21:09:48 -08:00
Brian Anderson
9116a6d9b1 rustc: Support 'crate_type' attribute
[crate_type = "lib"] builds it as a library.
[crate_type = "bin"] builds it as an executable.

Executable is the default. --lib and --bin switches override.
2011-12-08 21:09:15 -08:00
Brian Anderson
6156295a4c rustc: Move linking into compile_input 2011-12-08 20:33:31 -08:00
Brian Anderson
fd81fb6a24 rustc: Determine the crate type (lib/bin) in the session, not session opts
This is in preparation for adding a #[crate_type] attribute
2011-12-08 20:08:00 -08:00
Brian Anderson
9e6ff44d93 rt: Make __morestack work on win32 2011-12-08 16:47:33 -08:00
Marijn Haverbeke
0e74121ddb Error when parsing the empty record type
Issue #1200
2011-12-08 13:29:43 +01:00
Marijn Haverbeke
9a269a3aa8 Allow binding of nested patterns
See src/test/run-pass/nested-patterns.rs for some examples. The syntax is

    boundvar@subpattern

Which will match the subpattern as usual, but also bind boundvar to the
whole matched value.

Closes #838
2011-12-08 12:03:48 +01:00
Marijn Haverbeke
8c966b7b18 Stop passing around some unused information in typeck 2011-12-08 10:53:04 +01:00
Marijn Haverbeke
a7c6cb7385 Consider variant constructors pure functions for the purpose of purity checking
Closes #1269
2011-12-08 10:26:42 +01:00
Brian Anderson
94b0fee6f1 rt: Reorganize and add documentation for rust_upcall.cpp 2011-12-07 18:50:23 -08:00
Brian Anderson
31fe5d0bd8 rt: Run most upcalls on the C stack 2011-12-07 18:50:23 -08:00
Niko Matsakis
0fc4403442 use util::rational to work around bug w/ floats on win 2011-12-07 17:05:58 -08:00
Niko Matsakis
1ff8994fce Purge old map impl: more collisions, not clear it is safe on 64bit 2011-12-07 17:05:58 -08:00
Niko Matsakis
4b704ac69b improve comments 2011-12-07 17:05:58 -08:00
Niko Matsakis
ed0e13f1d8 fix old map impl, add logging 2011-12-07 17:05:58 -08:00
Niko Matsakis
30a2361e68 add some debugging logs 2011-12-07 17:05:58 -08:00
Niko Matsakis
13a3288f3f dec size in remove 2011-12-07 17:05:58 -08:00
Niko Matsakis
ddfe82a466 make rehashing more efficient by not re-allocating entries 2011-12-07 17:05:58 -08:00
Niko Matsakis
729345cb97 implement a chained hashmap 2011-12-07 17:05:58 -08:00
Graydon Hoare
501c514e89 Register new snapshots (containing libcore auto-importing it now). 2011-12-07 16:36:56 -08:00
Graydon Hoare
3ccdd2a098 Mention new dirs in README. 2011-12-07 15:34:30 -08:00
Graydon Hoare
e4aa73c0f9 Change snapshot script to pick up host libcore as well. 2011-12-07 15:34:16 -08:00
Brian Anderson
81f932e7d7 rt: Fix alignment of stacks generated by __morestack 2011-12-07 14:06:46 -08:00
Graydon Hoare
e056ffa17d Inject the view_items for core in the right place, add comment documenting why the wrong place was wrong. 2011-12-07 13:33:00 -08:00
Graydon Hoare
799690bea0 Remove stmt_crate_directive, it's vestigial and confusing. 2011-12-07 13:33:00 -08:00
Graydon Hoare
dfd699a852 Pass --no-core when building libcore. 2011-12-07 13:32:59 -08:00
Marijn Haverbeke
17e99ec57f Fix test that used an oversized int literal 2011-12-07 22:10:56 +01:00
Marijn Haverbeke
7548a0d77a Restore accidentally overwritten test 2011-12-07 22:02:38 +01:00
Marijn Haverbeke
3d0610b072 Check for literals that are out of range for their type 2011-12-07 21:53:05 +01:00
Marijn Haverbeke
e3eca9174b Change literal representation to not truncate
Also shuffles around the organization of numeric literals and types,
separating by int/uint/float instead of machine-vs-non-machine types.
This simplifies some code.

Closes #974
Closes #1252
2011-12-07 21:08:28 +01:00