Commit graph

7446 commits

Author SHA1 Message Date
Brian Anderson
65f4b0587a rt: Generate intrinsics 2012-02-02 18:10:23 -08:00
Brian Anderson
bda40e2e4a rt: Fix intrinsics bustage
intrinsics.cpp and the file to generate the ll had bitrotted.
2012-02-02 18:10:23 -08:00
Graydon Hoare
c485301d21 Update libuv. 2012-02-02 17:39:47 -08:00
Graydon Hoare
6784b18303 Win32 warning police. 2012-02-02 11:35:07 -08:00
Marijn Haverbeke
6a7de641da Add test case for issue #1733 2012-02-02 10:30:07 +01:00
Marijn Haverbeke
743c62e1ce Fix assumption in mut.rs that op overloading breaks
Closes #1733
2012-02-02 08:11:20 +01:00
Brian Anderson
2b67de06c8 rustdoc: Add support for type items 2012-02-01 22:41:54 -08:00
Kevin Cantu
ae0d49aa06 Rename str::char_slice -> str::slice 2012-02-01 21:56:53 -08:00
Kevin Cantu
fc9169f09c Make the tests work, too 2012-02-01 21:56:53 -08:00
Kevin Cantu
8f367ebfeb Rename (again) str::unsafe::slice -> str::unsafe::slice_bytes and
str::unsafe::safe_slice -> str::unsafe::slice_bytes_safe_range
2012-02-01 21:56:53 -08:00
Kevin Cantu
01c01f68af Stop exporting str::slice and str::safe_slice (use unsafe instead) 2012-02-01 21:56:53 -08:00
Kevin Cantu
c71667d9d2 Propagating unsafe::slice 4 2012-02-01 21:56:53 -08:00
Kevin Cantu
fceec03da0 Propagating unsafe::slice 3 2012-02-01 21:56:53 -08:00
Kevin Cantu
6156bc56cb Propagating unsafe::slice 2 2012-02-01 21:56:53 -08:00
Kevin Cantu
47c57a17dc Propagating unsafe::slice 1 2012-02-01 21:56:53 -08:00
Kevin Cantu
4e406d7fdd Make it work 1 2012-02-01 21:56:53 -08:00
Kevin Cantu
cccf9e5389 Copy str::slice -> str::unsafe::slice (and unsafe_slice) 2012-02-01 21:56:53 -08:00
Kevin Cantu
5a19bafeea Actually export the str::unsafe module for now 2012-02-01 21:56:53 -08:00
Niko Matsakis
af2dd9b3b7 register new snapshot, revert USE_SNAPSHOT_RUNTIME setting 2012-02-01 21:02:19 -08:00
Niko Matsakis
196d69beb2 make boxes self-describing (fixes #1493)" (take 2)
this will be used to generate a new snapshot.
2012-02-01 18:52:08 -08:00
Niko Matsakis
3116643806 Revert "make boxes self-describing (fixes #1493)" until a new
snapshot is prepared.
2012-02-01 18:50:19 -08:00
Niko Matsakis
c36207bfb8 make boxes self-describing (fixes #1493) 2012-02-01 18:18:07 -08:00
Tim Chevalier
49cb3fc7df Remove remaining references to option::t outside option itself 2012-02-01 16:49:57 -08:00
Brian Anderson
4eb92d4177 rt: Don't access fields on null supervisor task 2012-02-01 16:46:11 -08:00
Brian Anderson
f76e6c39f6 rt: Fix lock_held_by_current_thread
This simplifies the check for thread ownership by removing the _locked flag
and just comparing against the thread ID of the last thread to take the lock.
If the running thread took the lock _holding_thread will be equal to
pthread_self(); if _holding_thread is some other value then the running thread
does not have the lock.

Setting a pthread_t to 0 like this is not portable but should work on every
platform we are likely to care about for the near future.
2012-02-01 16:06:58 -08:00
Brian Anderson
6b5f7865be rt: Remove unused variable from lock_and_signal 2012-02-01 16:06:21 -08:00
Brian Anderson
f954ce5ef1 rt: Remove calls to signal the kernel lock
Nobody ever waits for it
2012-02-01 16:05:17 -08:00
Brian Anderson
5c89938544 rt: Remove rust_timer. Unused 2012-02-01 16:05:17 -08:00
Brian Anderson
d24eb58a09 core: Ignore should_fail tests on win32 2012-02-01 15:35:59 -08:00
Marijn Haverbeke
694de53d28 Make vec::pop efficient 2012-02-01 12:23:13 +01:00
Marijn Haverbeke
2dbaa05af8 Remove support for native types
Issue #1673
2012-02-01 12:23:13 +01:00
Marijn Haverbeke
856a544d0c Remove native types from stdlib 2012-02-01 12:23:13 +01:00
Marijn Haverbeke
c6aead7281 Get rid of native types in LLVM module
Code is still somewhat kludgy because we don't have 32-bit enums.

Issue #1673
2012-02-01 12:23:13 +01:00
Brian Anderson
f6f3d518e6 rustdoc: Split the pruning of undocumented branches into two passes
prune_undoc_details_pass strips arguments and return values that are
undocumented. prune_undoc_items_pass prunes entire items.
2012-01-31 21:54:16 -08:00
Tim Chevalier
e204aa281d Merge branch 'master' into register-snapshots 2012-01-31 21:08:53 -08:00
Brian Anderson
e8a5d81b24 rustdoc: Add impl docs to demo mod 2012-01-31 20:59:42 -08:00
Brian Anderson
77824cf2ed rustdoc: Write markdown for impls 2012-01-31 20:54:46 -08:00
Tim Chevalier
11ecec1b71 register snapshots 2012-01-31 20:49:00 -08:00
Brian Anderson
f9f9388874 rustdoc: Apply string ops to impl docs 2012-01-31 20:42:06 -08:00
Brian Anderson
3f1534ad72 rustdoc: Promote impl descriptions to brief descriptions 2012-01-31 20:31:52 -08:00
Brian Anderson
d7a2837c55 rustdoc: Prune undocumented impls 2012-01-31 20:24:31 -08:00
Brian Anderson
fee9037765 rustdoc: Refactor tests 2012-01-31 19:32:27 -08:00
Brian Anderson
496205c85f rustdoc: Pull impl docs out of attributes 2012-01-31 19:32:27 -08:00
Brian Anderson
23042a3566 rustdoc: Gather types of impls 2012-01-31 19:32:27 -08:00
Brian Anderson
b7108d71a5 rustdoc: Rename impldoc.for_ty to self_ty 2012-01-31 19:32:27 -08:00
Brian Anderson
c218b65fd8 rustdoc: Prune unexported impls 2012-01-31 19:32:27 -08:00
Brian Anderson
7d6cf37a8d rustdoc: Extract impl doc nodes from AST 2012-01-31 19:32:27 -08:00
Brian Anderson
acb11f47dc rustdoc: Add impl doc node 2012-01-31 19:32:27 -08:00
Niko Matsakis
56db37d4c7 add iter library in preliminary form (limited syntactic support) 2012-01-31 19:21:26 -08:00
Tim Chevalier
e5d095d67e Change option::t to option
Now that core exports "option" as a synonym for option::t, search-and-
replace option::t with option.

The only place that still refers to option::t are the modules in libcore
that use option, because fixing this requires a new snapshot
(forthcoming).
2012-01-31 17:05:20 -08:00
Kevin Cantu
1f795ff3b0 Re-implementing str::to_upper and str::to_lower using str::map 2012-01-31 14:29:11 -08:00
Kevin Cantu
a8b657397a Add str::split_chars_iter and str::splitn_chars_iter 2012-01-31 14:29:11 -08:00
Kevin Cantu
ebf14cb3a9 Rename str::iter_chars -> str::chars_iter 2012-01-31 14:29:11 -08:00
Kevin Cantu
c7454f5595 Rename str::to_chars -> str::chars 2012-01-31 14:29:11 -08:00
Kevin Cantu
685a434e0a Rename str::loop_chars to str::all,
rename str::loop_chars_sub to str::substr_all, and
propagate this change to std::rope and rustdoc's calls to these
2012-01-31 14:29:11 -08:00
Kevin Cantu
be9129f556 Comment fixes in str 2012-01-31 14:29:11 -08:00
Kevin Cantu
03b8c8df01 Rename str::from_byte(s) to str::unsafe::from_byte(s),
mark them as unsafe,
make comp/driver/driver.rs use str::from_bytes...
2012-01-31 14:29:10 -08:00
Graydon Hoare
24668d7578 Merge pull request #1713 from killerswan/manpg
Updating the manpage and usage message
2012-01-31 14:09:48 -08:00
Graydon Hoare
fb236b0bb6 Merge branch 'master' of github.com:mozilla/rust 2012-01-31 12:51:53 -08:00
Tim Chevalier
45c1dfe5b3 Don't compute pre- and postconditions for item_consts
Since item_consts can't refer to or modify local variables, they
don't participate in typestate and thus get empty pre and
postconditions by default.

Closes #1660
2012-01-31 11:52:46 -08:00
Graydon Hoare
f7d756fcac Remove NSIS package, obsolete (and hazardous). 2012-01-31 11:46:47 -08:00
Tim Chevalier
fba35e1a3c Require alts to be exhaustive
middle::check_alt does the work. Lots of changes to add default cases
into alts that were previously inexhaustive.
2012-01-31 10:08:24 -08:00
Marijn Haverbeke
813a55d891 Move walk_ty to stack closure 2012-01-31 13:02:46 +01:00
Marijn Haverbeke
25d60172d6 Don't consider references to nullary tag variants lvals in kind.rs
This allows us to express option::map with noncopyable type
parameters, which makes sense, since the type params aren't being
copied (none doesn't contain any).
2012-01-31 13:02:46 +01:00
Brian Anderson
b9bb58f104 core: Add ctypes::c_char 2012-01-30 22:08:57 -08:00
Brian Anderson
19b9a0d363 rustdoc: Reenable a working test 2012-01-30 21:02:03 -08:00
Brian Anderson
868d9c753c rustdoc: Add some rustdocs 2012-01-30 21:01:09 -08:00
Brian Anderson
bc450e60c3 rustdoc: Add ifaces to demo module 2012-01-30 20:54:02 -08:00
Brian Anderson
38197d8728 rustdoc: Write markdown for ifaces 2012-01-30 20:53:52 -08:00
Brian Anderson
f4aba18ae7 rustdoc: Apply generic string ops to ifaces 2012-01-30 19:37:32 -08:00
Brian Anderson
fd7bb70d6f rustdoc: Promote iface descriptions to brief descriptions 2012-01-30 19:37:32 -08:00
Brian Anderson
a64030697b rustdoc: Prune undocumented ifaces 2012-01-30 19:37:32 -08:00
Brian Anderson
2c495a9bf8 rustdoc: Add iface attribute docs to the doc tree 2012-01-30 19:37:32 -08:00
Brian Anderson
b8a683415c rustdoc: Add attribute parsing for ifaces and methods 2012-01-30 19:37:32 -08:00
Brian Anderson
dd1564a6d3 rustdoc: Add iface method type info to the doc tree 2012-01-30 19:37:32 -08:00
Brian Anderson
c775798124 rustdoc: Add a test that unexported ifaces are pruned 2012-01-30 19:37:32 -08:00
Brian Anderson
cb4a383922 rustdoc: Extract iface doc nodes from the AST 2012-01-30 19:37:32 -08:00
Brian Anderson
d3aa174846 rustdoc: Add definition of iface docs 2012-01-30 19:37:32 -08:00
Kevin Cantu
8abcafe7ad Updating the manpage and usage message 2012-01-30 19:02:20 -08:00
Brian Anderson
fe745f1b5d rustdoc: Use fewer unique pointers 2012-01-30 13:05:25 -08:00
Brian Anderson
0e498da47e rustc: Allow attributes on methods. Closes #1709 2012-01-30 11:43:45 -08:00
Paul Woolcock
6ba3d24355 Remove ternary operator
`expr_ternary`, `ternary_to_if`, and all parses & lexer definitions have
been removed.
2012-01-30 18:21:19 +01:00
Paul Woolcock
a02493b969 Fix last failing test
All tests now pass, without the ternary operator.
2012-01-30 18:21:12 +01:00
Paul Woolcock
e1251f7b00 Change all ternary ops to if/then/else
All the files below had at least one instance of the ternary operator
present in the source.  All have been changed to the equivalent
if/then/else expression.
2012-01-30 18:21:01 +01:00
Paul Woolcock
e1f15a71e3 Alter/remove tests that include/concern ternary
3 tests, pretty/block-disambig.rs, run-pass/operator-overloading.rs,
and run-pass/weird-exprs.rs, all included the ternary operator.  These
were changed to use the if-then-else construct instead.

2 tests, run-pass/block-arg-in-ternary.rs and run-pass/ternary.rs, were
only there because of the ternary operator, and were removed.
2012-01-30 18:20:05 +01:00
Marijn Haverbeke
86d473ad1f Substitute type parameters more eagerly
This simplifies the typechecker a bit (no more ty_param_substs_opt_and_ty)
and is needed for another experiment I'm playing with. I hope it also
makes compilation faster (the bots will tell).
2012-01-30 17:28:30 +01:00
Marijn Haverbeke
964bd485c6 Revert self types 2012-01-30 11:37:52 +01:00
Marijn Haverbeke
98c3396ab6 Remove trailing whitespace in debuginfo.rs 2012-01-30 10:21:25 +01:00
Marijn Haverbeke
55c938b2c2 Only build debuginfo blocks for blocks that appear in the program text
I.e. a set of curly braces, not everything that creates a block
context in the trans pass.

Issue #1694
2012-01-30 10:06:06 +01:00
Brian Anderson
0ec92a4ca7 rustc: Add a missing llvm linkage type 2012-01-29 23:27:54 -08:00
Brian Anderson
c77f1d47f8 rustc: Add some missing llvm defs. Fix comments 2012-01-29 23:10:39 -08:00
Brian Anderson
fa13fd9d64 rt: Remove set_min_stack 2012-01-29 21:27:37 -08:00
Brian Anderson
cad4918b2a core: Remove sys::set_min_stack
This was a temporary hack with global effect. Eventually there will
be a real solution for controlling stack sizes.
2012-01-29 21:27:09 -08:00
Brian Anderson
6548cdd59b rt: Make the initial segment of the main task's stack 1MB
This is a trick to fool microbenchmarks. Closes #1681
2012-01-29 21:20:39 -08:00
Brian Anderson
361f90e618 rustdoc: Sort the items so modules are printed last 2012-01-29 14:51:09 -08:00
Brian Anderson
07ac2e1043 rustdoc: Add a sorting pass 2012-01-29 14:15:14 -08:00
Brian Anderson
55e69eb458 rustdoc: Extract method to get item names 2012-01-29 13:36:54 -08:00
Brian Anderson
dbe2928c4d rustdoc: Fix typo in attr_pass 2012-01-29 13:25:38 -08:00
Brian Anderson
f8c93bdbe1 rustdoc: Move mod docs into the item tag 2012-01-29 13:08:18 -08:00
Brian Anderson
9732e0d554 rustdoc: Move fn docs into the item tag 2012-01-29 12:47:06 -08:00
Brian Anderson
5aa6c3a49a rustdoc: Move const docs into the item tag 2012-01-29 12:46:26 -08:00
Brian Anderson
95e2b1b8f9 rustdoc: Add test that unexported resources are pruned 2012-01-29 11:38:44 -08:00
Brian Anderson
d56a4dd04b rustdoc: Move enum docs into the item tag 2012-01-29 11:38:44 -08:00
Brian Anderson
40cbc89b6f rustdoc: Move resource docs into the item tag 2012-01-29 11:38:44 -08:00
Brian Anderson
bfd8a14065 rustdoc: Create an item tag to hold doc for all item types 2012-01-29 11:38:44 -08:00
Marijn Haverbeke
2740a6b605 Fix mistake in previous commit 2012-01-29 19:57:57 +01:00
Marijn Haverbeke
d6996c0210 Fix bug where resolve didn't descend method ty params
Closes #1700
2012-01-29 19:46:36 +01:00
Erick Tryzelaar
29ba196336 Adding a function to concatanate vectors with a separator 2012-01-28 15:41:53 -08:00
Erick Tryzelaar
5b2c0a999f std: Whitespace cleanup. 2012-01-28 09:18:35 -08:00
Erick Tryzelaar
f98210db07 core: Flesh out vec find functions. 2012-01-28 09:18:34 -08:00
Erick Tryzelaar
025e6ff158 core: add vec spliting functions. 2012-01-28 09:18:34 -08:00
Erick Tryzelaar
1be3a7c263 core: add (,r)position(,_from) functions
This is to help search through a vector better.
2012-01-28 09:18:34 -08:00
Erick Tryzelaar
259636a112 core: rename vec::position* functions
Almost all of the vec functions that predicates don't have a
corresponding function that takes a single element, so this
commit renames the common fn usecase to be the default.
2012-01-28 09:18:34 -08:00
Josh Matthews
a831e7ce13 Merge remote-tracking branch 'mozilla/master' 2012-01-28 11:50:48 -05:00
Josh Matthews
fcb381410d Disable lexical block and function debug info caches to improve compilation time while #1694 is unfixed, and fix stack-exhaustion bug in block parent generation. 2012-01-28 11:50:26 -05:00
Brian Anderson
fc5ec630d4 rt: Remove unused variable 2012-01-27 18:45:43 -08:00
Brian Anderson
53dbde6cc2 rustc: Make 'attempted access of field' error non-fatal 2012-01-27 16:58:27 -08:00
Brian Anderson
3321880f13 Merge remote-tracking branch 'killerswan/fixing_strings_2'
Conflicts:
	src/comp/driver/driver.rs
	src/comp/middle/trans/base.rs
	src/comp/syntax/parse/lexer.rs
2012-01-27 16:44:40 -08:00
Brian Anderson
7e620f87a6 std: Long lines 2012-01-27 15:11:45 -08:00
Donovan Preston
6b42e6b298 Re-apply fixes brson made. 2012-01-27 15:07:29 -08:00
Donovan Preston
3d76922f97 Implement timers. 2012-01-27 14:04:13 -08:00
Marijn Haverbeke
e48bf6f3f4 Make occurs check in ty::fixup_vars more reliable
It wouldn't detect cycles that went through several type vars before.

Closes #1464
2012-01-27 18:58:52 +01:00
Marijn Haverbeke
362625008a Allow moving out of mutable unsafe pointers
This makes it possible to de-initialize values anywhere in
memory, which is needed, for example, for a fast imlementation
of vec::pop.
2012-01-27 17:15:40 +01:00
Marijn Haverbeke
dc55c06aa3 Properly check enum types for recursion
Closes #742
2012-01-27 16:03:43 +01:00
Marijn Haverbeke
03e9dac09a Move various trans_ modules under a trans:: umbrella module
Closes #1304
2012-01-27 13:20:36 +01:00
Marijn Haverbeke
b3f06c7d54 Stop passing spans to middle::trans functions that don't need them
Removes a bunch of (eventually) unused arguments. Makes span passing to debuginfo
explicit, instead of relying on the (usually incorrect) spans held in the contexts.

Closes #1439
2012-01-27 13:20:36 +01:00
Marijn Haverbeke
b80f0a3c9f Use the method name 'unary-' for overloading negation
It's less likely to clash with something than 'neg'.

Issue #1520
2012-01-27 10:06:53 +01:00
Brian Anderson
7b67e2d274 rustdoc: Write both crates and mods as header level 1 2012-01-26 23:16:42 -08:00
Brian Anderson
7c925cfaaf core: Long lines 2012-01-26 23:12:30 -08:00
Brian Anderson
7820c2f17a Merge pull request #1684 from rtanglao/master
rustdocs for f32.rs and f64.rs
2012-01-26 23:00:06 -08:00
Brian Anderson
094f91b685 rustdoc: Write markdown for resources 2012-01-26 22:54:20 -08:00
Brian Anderson
ca0aefa8bf rustdoc: Add resource arg tys to doc tree 2012-01-26 22:54:16 -08:00
Roland Tanglao
4e1bf8d692 rustdocs for f32.rs and f64.rs 2012-01-26 22:46:39 -08:00
Brian Anderson
e51ae23317 rustdoc: Apply generic string-op passes to resources 2012-01-26 22:27:13 -08:00
Brian Anderson
4c188fb82f rustdoc: Promote resource long descriptions to brief descriptions 2012-01-26 22:19:47 -08:00
Brian Anderson
21fc2a36d8 rustdoc: Build resource arguments as well 2012-01-26 22:14:16 -08:00
Brian Anderson
06ab83de2c rustdoc: Prune undocumented resources 2012-01-26 22:07:14 -08:00
Brian Anderson
ce7d150493 rustdoc: Add resource attribute docs to the doc tree 2012-01-26 21:39:20 -08:00
Brian Anderson
2efc6004b5 rustdoc: Parse resource doc attributes 2012-01-26 21:20:17 -08:00
Brian Anderson
97a1110c5f rustdoc: Add resource signatures to doc tree 2012-01-26 20:59:15 -08:00
Brian Anderson
9f80a17c0e rustc: Add pprust::res_to_str 2012-01-26 20:54:36 -08:00
Brian Anderson
e44467a47f rustdoc: Add resources to the doc fold 2012-01-26 20:34:16 -08:00
Brian Anderson
23e9f7a1b6 rustdoc: Extract resources from the AST 2012-01-26 20:34:16 -08:00
Brian Anderson
7cf725355a rustdoc: Add a resource node to the doc tree 2012-01-26 20:34:16 -08:00
Brian Anderson
f0ba69a96f Remove the --no-core command-line option
It is superceeded by the #[no_core] attribute
2012-01-26 20:30:46 -08:00
Brian Anderson
a3beeac4ec Register snapshots 2012-01-26 18:39:00 -08:00
Graydon Hoare
0bf992969f Merge pull request #1669 from graydon/inno-setup
Add Inno Setup installer script rather than NSIS
2012-01-26 18:16:30 -08:00
Brian Anderson
a06850c8aa rustdoc: Prune unexported enums and variants 2012-01-26 17:29:55 -08:00
Brian Anderson
28fbb19664 rustc: Switch the --no-core switch to a #[no_core] attribute 2012-01-26 16:43:33 -08:00
Brian Anderson
2220d0f20f rustc: Make core injection a timed pass
It's not much of a pass, but lets be consistent
2012-01-26 16:23:48 -08:00
Brian Anderson
5610205363 rustc: Move core injection to its own module 2012-01-26 16:23:48 -08:00
Brian Anderson
335302f08d std: Fix types in uvtmp tests 2012-01-26 16:19:46 -08:00
Donovan Preston
9e39219d9b Shuffle around to work with rust-spidermonkey 2012-01-26 16:01:26 -08:00
Brian Anderson
91ee6afeae rustdoc: Set up the compiler session properly in prep for running resolve 2012-01-26 11:36:29 -08:00
Brian Anderson
38908581f7 rustdoc: Rename astsrv::ctxt.map to ast_map 2012-01-26 11:05:21 -08:00
Marijn Haverbeke
c590bdeea4 Make re-exporting of impls work
Closes #1438
2012-01-26 18:58:35 +01:00
Marijn Haverbeke
6bead0e4cc Use operator names for operator methods
The methods used to implement operators now simply use
the name of the operator itself, except for unary -, which is called
min to not clash with binary -. Index is called [].

Closes #1520
2012-01-26 15:52:28 +01:00
Marijn Haverbeke
305b1c8701 Fix small bug in iface self types
Issue #1661
2012-01-26 15:24:52 +01:00
Marijn Haverbeke
888262b337 Allow operator overloading of the indexing operator
The method `op_index` (which takes a single argument) is used for
this.

Issue #1520
2012-01-26 15:23:11 +01:00
Marijn Haverbeke
87b064b249 First stab at operator overloading
When no built-in interpretation is found for one of the operators
mentioned below, the typechecker will try to turn it into a method
call with the name written next to it. For binary operators, the
method will be called on the LHS with the RHS as only parameter.

Binary:

    +   op_add
    -   op_sub
    *   op_mul
    /   op_div
    %   op_rem
    &   op_and
    |   op_or
    ^   op_xor
    <<  op_shift_left
    >>  op_shift_right
    >>> op_ashift_right

Unary:

    -   op_neg
    !   op_not

Overloading of the indexing ([]) operator isn't finished yet.

Issue #1520
2012-01-26 14:25:06 +01:00
Marijn Haverbeke
1792d9ec96 Use string stored in codemap for pretty-printing comments and literals
Closes #1665
2012-01-26 10:52:08 +01:00
Marijn Haverbeke
ec4d05de3b Remove ty_native_fn
It was being used as a clumsy synonym of ty_fn.
2012-01-26 10:37:50 +01:00
Kevin Cantu
3afc16f7a4 Change FIXME comments in str 2012-01-25 23:20:10 -08:00
Kevin Cantu
4d7c297bea (FIX) Change encoder::encode_metadata to return a [u8] (which will become an LLVM string) 2012-01-25 22:27:29 -08:00
Kevin Cantu
5847cf0367 (TEMPORARY) Break something by making io::mem_buffer_str UTF-8 safe 2012-01-25 21:53:37 -08:00
Brian Anderson
566a4be1f8 rustdoc: Add some test enums to demo module 2012-01-25 21:04:53 -08:00
Brian Anderson
74e8b11194 rustdoc: Write markdown for enums 2012-01-25 21:04:53 -08:00
Brian Anderson
d6ce20973a rustdoc: Apply general string ops to enum docs 2012-01-25 21:04:53 -08:00
Brian Anderson
53c6454de5 rustdoc: Extract brief enum descs from long descs 2012-01-25 21:04:53 -08:00
Brian Anderson
1d94f40c6c rustdoc: Prune undocumented enums 2012-01-25 21:04:53 -08:00
Brian Anderson
95a006ce52 rustdoc: Add enum doc attributes to the doc tree 2012-01-25 21:04:53 -08:00
Brian Anderson
a25bc195e2 rustdoc: Parse variant doc attributes 2012-01-25 21:04:53 -08:00
Brian Anderson
87c3a5c1a3 rustdoc: Extract some common functions from attr_parser 2012-01-25 21:04:52 -08:00
Brian Anderson
259ea4e4b4 rustdoc: Parse enum doc attributes 2012-01-25 21:04:52 -08:00
Brian Anderson
5166cc29e9 rustdoc: Fix a copy&paste bug in attr_parser tests 2012-01-25 21:04:52 -08:00
Brian Anderson
0b9f2a8215 rustdoc: Extract variant signatures 2012-01-25 21:04:49 -08:00
Brian Anderson
b7b8455e54 rustc: Add pprust::variant_to_str 2012-01-25 17:22:08 -08:00
Brian Anderson
1586cce0ea rustdoc: Add enum folding 2012-01-25 16:56:28 -08:00
Brian Anderson
e946792a78 rustdoc: Extract enum doc nodes from AST nodes 2012-01-25 16:50:32 -08:00
Brian Anderson
2999479a2d rustc: Allow attributes on enum variants. Closes #1663 2012-01-25 16:24:06 -08:00
unknown
fe57a7e582 Add Inno Setup installer script rather than NSIS 2012-01-25 16:02:53 -08:00
Brian Anderson
08c6cb5f70 Merge pull request #1664 from kevina/issue-1612
See Issue #1612
2012-01-25 15:22:10 -08:00
Kevin Atkinson
60a146bf0f Correctly increment sess.byte_pos. 2012-01-25 16:01:58 -07:00
Kevin Atkinson
c5e03e0e59 Keep source file around after parsing.
Specifically box the string (to avoid unnecessary copies) and store it
in codemap::filemap.

Remove the hack in driver::diagnostic that rereads the source from the
file and instead just get the source from the filemap.

(This commit is also a prerequisite for issue #1612)
2012-01-25 16:00:47 -07:00
Brian Anderson
ab223e0618 Merge pull request #1627 from graydon/win32-quoting
Fix win32 command-line quoting on rust_run_program.
2012-01-25 14:33:10 -08:00
Brian Anderson
4168101b03 test: Un-xfail run-pass/tag-auto-disr-val-shape 2012-01-25 12:44:13 -08:00
Brian Anderson
19a9a475a6 test: Add regression test for #1659 2012-01-25 12:40:08 -08:00
Brian Anderson
ba7299ba65 test: Un-xfail run-pass/tag-disr-val-shape
Fixed by 96f1eda6d0
2012-01-25 12:34:37 -08:00
Marijn Haverbeke
2d4d8e8bdb Implement implicit self type parameters for ifaces
Closes #1661
2012-01-25 20:47:11 +01:00
Marijn Haverbeke
76aabbe99d Rename tag to enum throughout the compiler
This should reduce confusion of people trying to read the code.
2012-01-25 14:34:31 +01:00
Marijn Haverbeke
8420f8c52e Repair zero-variant tags
The parser no longer parsed them.
2012-01-25 14:10:33 +01:00
Marijn Haverbeke
2f0f6c782a Add bit-shifting ops to ast_util::eval_const_expr
Closes #1659
2012-01-25 13:19:32 +01:00
Kevin Cantu
fec36de94e Making str::from_cstr UTF-8 safe 2012-01-25 02:25:57 -08:00
Kevin Cantu
a185b10647 Replacing str::unsafe_from_bytes with str::from_bytes (part 6) 2012-01-25 01:42:28 -08:00
Kevin Cantu
57717fa4d8 Replacing str::unsafe_from_bytes with str::from_bytes (part 5) 2012-01-25 01:29:44 -08:00
Kevin Cantu
87320a9f27 Replacing str::unsafe_from_bytes with str::from_bytes (part 4) 2012-01-25 01:20:55 -08:00
Kevin Cantu
eaa4befd6d Replacing str::unsafe_from_bytes with str::from_bytes (part 3) 2012-01-25 01:07:05 -08:00
Kevin Cantu
64ce563c05 Replacing str::unsafe_from_bytes with str::from_bytes (part 2) 2012-01-25 01:00:21 -08:00
Kevin Cantu
c7b23f9a86 Replacing str::unsafe_from_bytes with str::from_bytes (part 1) 2012-01-25 00:53:17 -08:00
Kevin Cantu
9750e83a17 Replace uses of str::unsafe_from_byte 2012-01-24 23:47:32 -08:00
Kevin Cantu
2496dccae4 Changed type of str::from_bytes and added str::from_byte 2012-01-24 23:44:19 -08:00
Brian Anderson
61b5cc95d1 rustdoc: Add enums to the doc tree 2012-01-24 23:24:55 -08:00
Brian Anderson
b779277dae rustdoc: Add a pass to normalize indentation levels in doc comments 2012-01-24 23:24:54 -08:00
Brian Anderson
e869458914 rustdoc: Extract a general apply-function-to-strings pass from trim_pass 2012-01-24 23:24:54 -08:00
Brian Anderson
e7d7f4e4b7 rustdoc: Add a demo module with some test docs 2012-01-24 23:24:54 -08:00
Brian Anderson
45a668c439 rustdoc: Update tests for rustc diagnostic changes 2012-01-24 23:24:31 -08:00
Brian Anderson
0886b69b76 rustc: Bump the error count on non-span errors 2012-01-24 23:07:16 -08:00
Patrick Walton
9ecd5ee81d rustc: Split diagnostics into "span diagnostics" and "diagnostics".
The former contain a codemap (which is per-crate), and the latter don't. This
will be useful in order to allow more than one crate to be compiled in one run
of the compiler.
2012-01-24 21:42:54 -08:00
Brian Anderson
4d096a8c86 rustdoc: Rename gen module to markdown_pass 2012-01-24 18:18:14 -08:00
Brian Anderson
dc69355e99 rustdoc: Generate markdown for failure conditions 2012-01-24 18:17:06 -08:00
Brian Anderson
3310112169 rustdoc: Trim whitespace from failure conditions 2012-01-24 18:10:35 -08:00
Brian Anderson
a66bff6e81 rustdoc: Don't prune functions with documented failure conditions 2012-01-24 18:08:48 -08:00
Brian Anderson
efc067952d rustdoc: Add fn failure conditions to the doc tree 2012-01-24 18:05:57 -08:00
Brian Anderson
6d8058451b rustdoc: Parse fn failure conditions 2012-01-24 18:02:33 -08:00
Brian Anderson
fc64aefe0a rustdoc: Add a pass to trim whitespace from docs 2012-01-24 17:57:23 -08:00
Brian Anderson
cb44fa2a21 rustdoc: Add a pass that extracts brief docs from long docs
If the first paragraph of documentation is short then it will be used as the
brief description.
2012-01-24 17:57:23 -08:00
Kevin Cantu
4c4a5f734d Reorganizing str.rs to group and document strings better (no functional changes, though FIXMEs added) 2012-01-24 14:08:48 -08:00
Brian Anderson
19cd9686e7 comp: Fix syntax error in parser 2012-01-24 14:03:25 -08:00
Brian Anderson
6763051932 Merge pull request #1631 from j-clark/patch-2
Added to bad_expr_word_table reserved words
2012-01-24 13:57:29 -08:00
Brian Anderson
bd17319b41 Merge pull request #1637 from grahame/cargo-errors
suggest sync/init to user as appropriate
2012-01-24 12:01:39 -08:00
Jyun-Yan You
c2bf9b7726 freebsd clang support 2012-01-24 11:48:36 -08:00
Grahame Bowland
fe70212f5a suggest sync/init to user as appropriate 2012-01-25 00:08:58 +08:00
Brian Anderson
2898dcc5d9 core: Document the log levels 2012-01-24 00:54:17 -08:00
Brian Anderson
93686543e6 rustdoc: Update one of the markdown fn tests 2012-01-24 00:51:54 -08:00
Brian Anderson
c98cfa4f28 rustdoc: Write markdown for consts 2012-01-24 00:51:19 -08:00
Brian Anderson
74ab606e18 rustdoc: Prune undocumented consts 2012-01-24 00:44:47 -08:00
Brian Anderson
e3be8e689d rustdoc: Some refactoring in attr_pass 2012-01-24 00:38:36 -08:00
Brian Anderson
fbd704e77d rustdoc: Add const attr docs to doc tree 2012-01-24 00:38:35 -08:00
Brian Anderson
c93c6358cb rustdoc: Add parsing of const attribute docs 2012-01-24 00:38:35 -08:00
Brian Anderson
e6ed88df68 rustdoc: Add const types to the doc tree 2012-01-24 00:38:35 -08:00
Brian Anderson
d4e9f097b6 rustdoc: Add brief and desc fields to constdoc 2012-01-24 00:38:35 -08:00
Brian Anderson
f9a6b3731f rustdoc: Add fold_const and fold_constlist to fold 2012-01-24 00:38:35 -08:00
Brian Anderson
d66ac392fe rustdoc: Prune unexported consts 2012-01-24 00:38:35 -08:00
Brian Anderson
ab86bade97 rustdoc: Build const docs from AST consts 2012-01-24 00:38:35 -08:00
Brian Anderson
6ee7ff50b2 rustdoc: Add consts to the doc tree 2012-01-24 00:38:35 -08:00
Tim Chevalier
a3c31a08e5 Add export{} syntax to encapsulate things that should be abstract 2012-01-23 22:36:38 -08:00
Kevin Cantu
69ffb4e3ae s/fn&/fn/ 2012-01-23 22:28:25 -08:00
Kevin Cantu
8f4d1f3d27 Added str::from_bytes (which is UTF-8 safe) 2012-01-23 22:28:25 -08:00
Kevin Cantu
7608a06b33 improved test case for str::any 2012-01-23 22:28:25 -08:00
Kevin Cantu
536dd2f5a7 Added str::lines_iter 2012-01-23 22:28:25 -08:00
Kevin Cantu
1c54744e3f fixing indentation 2012-01-23 22:28:25 -08:00
Kevin Cantu
ff95029171 Added str::words_iter 2012-01-23 22:28:25 -08:00
Kevin Cantu
d4b287e852 Added str::any, str::bytes_iter, str::windowed, and vec::windowed functions 2012-01-23 22:28:25 -08:00
Kevin Cantu
0493a7c87d Added str::map and str::all functions 2012-01-23 22:28:25 -08:00
Tim Chevalier
477c3a8eb1 Merge branch 'master' into tag-docs 2012-01-23 22:22:07 -08:00
Brian Anderson
ab0eed34fd rustdoc: Prune unexported items from the doc tree 2012-01-23 22:13:34 -08:00
Tim Chevalier
c7d5e79fd8 Register snapshots 2012-01-23 21:54:09 -08:00
Joshua Clark
ceae107e14 Added to bad_expr_word_table reserved words 2012-01-23 23:19:00 -06:00
Brian Anderson
6766d0ead0 cargo: Long lines 2012-01-23 21:14:48 -08:00
Brian Anderson
5e9ca11c8d cargo: Remove unused imports - work around mystery resolve failure 2012-01-23 21:08:13 -08:00
Brian Anderson
3d08840f34 Merge pull request #1628 from startling/cargo-descriptions
Implemented package descriptions for cargo
2012-01-23 20:46:33 -08:00
tim
2c3cd1749e Added a newline after each description.
`<@graydon> maybe an extra newline to make the grouping clearer?`
2012-01-23 21:50:32 -06:00
tim
65840f3625 Get description attribute for packages from json. 2012-01-23 21:42:29 -06:00
Niko Matsakis
5e13d19cc0 s/block()/fn()/g 2012-01-23 19:06:33 -08:00
Graydon Hoare
7da3733c73 Fix win32 command-line quoting on rust_run_program. 2012-01-23 18:37:26 -08:00
tim
dfae48736f Steps towards package descriptions.
I added a description field for `package` objects (it's read from
a literal string for now) and `print_pkg` now prints descriptions if
they're there.
2012-01-23 20:23:31 -06:00
Brian Anderson
04351a84ca core: Format comm docs correctly 2012-01-23 18:07:05 -08:00
Brian Anderson
ef941998be rustdoc: Correctly indent multiline fn signatures 2012-01-23 17:58:52 -08:00
Brian Anderson
17ac98ba22 rustdoc: Use the standard markdown syntax for code blocks 2012-01-23 17:58:52 -08:00
Brian Anderson
7d5d1a311e test: Add no-reformat directive to compile-fail/issue-1362 2012-01-23 17:37:15 -08:00
Kevin Atkinson
664d9cc86f Add regression test for issue #1362.
Although its not really needed.  Without that fix, reported spans will
likely be bogus if the error is within the first couple of lines
(probable around 5) of that file.  Thus, many of the compile-fail
tests will fail due to incorrect location.
2012-01-23 17:37:15 -08:00
Kevin Atkinson
5e60facf78 Add regresion tests for issue #1448 and #1387. 2012-01-23 17:37:15 -08:00
Kevin Atkinson
4795e19d6d When replacing a pattern variable in macro expansion use the span of
the replacement and not the span of the pattern variable.

Fixes issue #1448, and #1387.
2012-01-23 17:37:15 -08:00
Kevin Atkinson
20ab47fe49 Allow ast_fold_precursor to change the span.
This involved changing the prototype for the callbacks to thread the
span though.  A wrapper function, fold::wrap, can be used to wrap the
old style callbacks.
2012-01-23 17:37:15 -08:00
Kevin Atkinson
ad21d9c64a Don't reset the chpos/byte_pos to 0 in new_parser_from_source_str.
This correctly fixes issue #1362.

chpos/byte_pos are now the offsets within a particular file, but
rather the offsets within a virtual file with is formed by combing all
of the modules within a crate.  Thus, resetting them to 0 causes an
overlap and hence, bogus source locations.

Fix #1362 by moving chpos/byte_pos to parse_sess so that
new_parser_from_source_str has access to them and hence can chose an
initial value that is not already been used in the crate.

Note that the trigger for bug 1361 was that syntax/ext/expand.rs calls
parse_expr_from_source_str (which calls new_parser_from_source_str)
using the same codemap as the current crate (and hence causing overlap
with files in the crate as new_parser_from_source_str resets the
chpos/byte_pos to 0).
2012-01-23 17:37:15 -08:00
Kevin Atkinson
355edf13e7 Change "file" of injected string from "-" to "<anon>", less confusing
that way.
2012-01-23 17:37:14 -08:00
Kevin Atkinson
1625a4320d Revert "rustc: Exclude stdin from codemap files when lookup_pos".
Need a better fix, right now it is just causing even more confusion,
for example in issue #1448 and #1387.

This reverts commit 1e4de33374.
2012-01-23 17:37:14 -08:00
Brian Anderson
93e9600a94 core: Write docs that format correctly in markdown or pandoc 2012-01-23 17:11:01 -08:00
Brian Anderson
3239f81898 core: More doc tweaks 2012-01-23 17:03:42 -08:00
Brian Anderson
7d58797453 core: Reformat the crate docs to look nicer 2012-01-23 16:58:30 -08:00
Brian Anderson
24b425567c wip 2012-01-23 16:49:29 -08:00
Brian Anderson
4e2d8d8051 core: Add crate docs 2012-01-23 16:40:51 -08:00
Brian Anderson
368daf8b5a Change rustc and rustdoc's #[desc] attribute to #[comment]
There are two attributes in use for this same purpose.
2012-01-23 16:25:20 -08:00
Brian Anderson
50d8e9f2a1 Revert "rustdoc: Get the crate brief description from the 'desc' attr"
This reverts commit 521e58a3c4.

Some crates use 'desc', some 'comment' - I want them to just use 'doc'
2012-01-23 16:23:08 -08:00
Brian Anderson
f4c31bda62 rustdoc: Print return value descriptions on same line as type 2012-01-23 16:18:01 -08:00
Brian Anderson
fa3368bc71 rustdoc: Prune undocumented return values 2012-01-23 16:18:01 -08:00
Brian Anderson
a7d3544d10 rustdoc: Don't prune functions with documented arguments 2012-01-23 16:18:01 -08:00
Brian Anderson
5cff7c093e rustdoc: Prune undocumented fn args 2012-01-23 16:18:01 -08:00
Niko Matsakis
5660b8bfb5 add msgsend.rs to benchmarks 2012-01-23 16:04:14 -08:00
Tim Chevalier
6db688e893 Check that the names mentioned in tag exports are actually types (or variants)
Check that in export foo{}, foo is an enum type, and that in export
foo{bar, quux}, foo is an enum type and bar and quux are variants belonging
to foo.
2012-01-23 15:48:08 -08:00
Tim Chevalier
9dc59e1506 Export all enum variants by default; new syntax for selectively exporting variants
See issue 1426 for details. Now, the semantics of "export t;" where t is a tag are
to export all of t's variants as well. "export t{};" exports t but not its
variants, while "export t{a, b, c};" exports only variants a, b, c of t.

To do:
- documentation
- there's currently no checking that a, b, c are actually variants of t in the
 above example
- there's also no checking that t is an enum type, in the second two examples above
- change the modules listed in issue 1426 that should have the old export
semantics to use the t{} syntax

I deleted the test export-no-tag-variants since we're doing the opposite now,
and other tests cover the same behavior.
2012-01-23 15:48:08 -08:00
Brian Anderson
e515999324 rustdoc: Prune undocumented modules 2012-01-23 15:40:01 -08:00
Brian Anderson
521e58a3c4 rustdoc: Get the crate brief description from the 'desc' attr 2012-01-23 15:16:14 -08:00
Brian Anderson
7857dcb88c rustdoc: Add a script for running rustdoc output through markdown/pandoc 2012-01-23 15:16:14 -08:00
Matthew O'Connor
d38000d1f5 Point to correct cargo-central. 2012-01-22 21:33:53 -07:00
Brian Anderson
07f8555b3e std: Add some hacks to use libuv 2012-01-22 20:06:58 -08:00
Brian Anderson
a88c0847c2 core: Reexport all the imports in f32/64 2012-01-22 16:42:00 -08:00
Brian Anderson
fb1eb1ced6 Register snapshots 2012-01-22 15:38:13 -08:00
Niko Matsakis
ec8273587c update to new tag syntax 2012-01-21 19:31:52 -08:00
Niko Matsakis
42b97f317a use u64 and not uint; otherwise shift results are undef. in 32 bit
Fixes #1605.
2012-01-21 19:31:52 -08:00
Niko Matsakis
de2bb2806f update to use u64; u32 has undefined results 2012-01-21 19:31:52 -08:00
Niko Matsakis
556947c47a wrap line 2012-01-21 19:31:52 -08:00
Niko Matsakis
85a3298229 unify size_of, align_of into one call (metrics)
create some new (xfail'd) tests looking at tag variant alignment
2012-01-21 19:31:52 -08:00
Niko Matsakis
cd1056df78 migrate size_of() and related funcs from trans into shape 2012-01-21 19:31:51 -08:00
Brian Anderson
52b1623089 std: Remove extfmt. Has been moved to core. Closes #1600 2012-01-21 13:51:54 -08:00
Graham Fawcett
fc2ae08b9c issue #1352: change param order on {std,core}::extfmt::str_init_elt to mirror vec::init_elt. 2012-01-21 13:33:16 -08:00
Graham Fawcett
7763b40c71 issue #1352: change param order on vec::init_elt, putting block in final position.
To match the init_fn() and init_fn_mut() changes.
2012-01-21 13:33:16 -08:00
Graham Fawcett
35d12be2ce fix #1352: change param order on vec::init_fn (and vec::init_fn_mut), putting block in final position. 2012-01-21 13:31:12 -08:00
Brian Anderson
29bebd3e9f Merge pull request #1598 from elly/cargo
[cargo] detect libs properly
2012-01-21 13:24:53 -08:00
Brian Anderson
3a2d52f122 Merge pull request #1599 from startling/master
Added `src/etc/vim/ftdetect/rust.vim` for vim filetype detection.
2012-01-21 13:21:39 -08:00