Brian Anderson
8499c77cee
Parse attributes for native items. Closes #609
2011-07-05 12:43:44 -07:00
Brian Anderson
6f8bc404f8
Error if the link attribute has duplicate items. Issue #614
2011-07-05 11:46:02 -07:00
Marijn Haverbeke
c59ebf0f01
Add a test file for distinct ty_native types
...
This should have gone into patch
77f5d14f14
, had I not forgotten to add
the file.
2011-07-05 11:50:41 +02:00
Patrick Walton
001397da3c
stdlib: Add ivec::any() and ivec::all(); put out burning tinderbox
2011-07-04 23:52:47 -07:00
Patrick Walton
f71c8dd918
stdlib: Implement interior vector map
2011-07-04 22:48:42 -07:00
Patrick Walton
d3a4102bc1
stdlib: Add an inefficient implementation of ivec::pop
2011-07-04 21:20:18 -07:00
Josh Matthews
a2775a5b72
Make non-str fail expression a type checking failure instead of a translation one.
2011-07-03 21:46:17 -07:00
Tim Chevalier
b110bbf886
Un-XFAIL fail-arg
2011-07-03 11:56:23 -07:00
Tim Chevalier
046c25dbc0
Handle fail as an argument; parse fail expressions unambiguously
...
An expression like:
foo(1, fail, 2)
was failing to parse, because the parser was interpreting the comma
as the start of an expression that was an argument to fail, rather
than recognizing that the fail here has no arguments
Fixed this by using can_begin_expr to determine whether the next
token after a fail token suggests that this is a nullary fail or a
unary fail.
In addition, when translating calls, check before translating each
argument that the block still isn't terminated. This has the effect
that if an argument list includes fail, the back-end won't keep trying
to generate code for successive arguments and trip the !*terminated
assertion.
2011-07-03 11:51:47 -07:00
Tim Chevalier
c425a422ed
Manipulate contexts correctly in trans_fail_expr
...
This fixes Issue #617
2011-07-03 02:38:11 -07:00
Tim Chevalier
9349826909
XFAILing the new test case...
...
...because the parsing of fail got changed out from under me.
Will fix shortly.
2011-07-03 01:15:41 -07:00
Tim Chevalier
7426252549
Generate code properly for calls with _|_ - typed arguments
...
The code for translating a fail (for example) would call
Unreachable(), which terminates the block; if a fail appeared as an
argument, this would cause an LLVM assertion failure. Changed
trans_call to handle this situation correctly.
2011-07-02 22:02:59 -07:00
Josh Matthews
a4421cc4e8
Fix assertion failure when syntax extension name is missing.
2011-07-02 00:06:58 -07:00
Brian Anderson
7c8ee712be
Fix the error-pattern on compile-fail/fail-simple
...
Recent changes to the fail statement changed the way the parser errors in this
scenario.
2011-07-02 00:06:58 -07:00
Josh Matthews
d485e0d15a
Allow any string expression to be used with fail.
2011-07-02 00:06:58 -07:00
Brian Anderson
22be98264e
Add a test for mismatched crate metadata in use statements
2011-07-01 12:26:57 -07:00
Marijn Haverbeke
d863cdb98f
Add tests for newtype-style tags
2011-07-01 17:51:49 +02:00
Michael Sullivan
7b1b5d5a8a
Implement autoderef for function calls.
...
This is important since we are going to be making functions noncopyable
soon, which means we'll be seeing a lot of boxed functions.
(*f)(...) is really just too heavyweight.
Doing the autodereferencing was a very little bit tricky since
trans_call works with an *lval* of the function whereas existing
autoderef code was not for lvals.
2011-07-01 12:39:58 +02:00
Patrick Walton
4c76bfdc1f
stdlib: Add an interior vector version of sort and a test case
2011-06-30 19:09:52 -07:00
Patrick Walton
b773f8d22b
rustc: Duplicate heap data of interior vectors when passing them by value
2011-06-30 19:09:52 -07:00
Brian Anderson
50b1953f9b
Pretty-print view items in mod items
...
For mods that aren't defined at the file level we were forgetting to print the
view items so, e.g. 'mod { use std; }' would not print correctly.
2011-06-30 16:08:28 -07:00
Graydon Hoare
1e63d5303f
Restore some functionality that got stripped out of the export tests while last reformatting.
2011-06-30 15:39:25 -07:00
Brian Anderson
39fccf3bc7
Conditionally compile items declared as statements. Issue #489
2011-06-30 13:04:35 -07:00
Brian Anderson
6346a67cbd
Add more tests for conditional compilation. Issue #489
2011-06-30 13:04:35 -07:00
Tim Chevalier
7fd04a21a1
remove an unused variable
2011-06-30 12:45:50 -07:00
Eric Holk
e1927553a5
Added a new version of pfib that's better suited for benchmarking the task system. It generates gnuplot output.
2011-06-30 11:32:16 -07:00
Eric Holk
b4a145e60f
Added a nanosecond timer to time.rs, support for some floating point casts, and a commandline-driven mode for pfib.rs
2011-06-30 11:32:10 -07:00
Brian Anderson
441c7e0610
Un-XFAIL run-pass/conditional-compile.rs. Issue #489
2011-06-30 10:06:26 -07:00
Brian Anderson
cbcc7bba30
Introduce a testcase for conditional compilation via attributes
...
Issue #489
2011-06-30 10:06:21 -07:00
Marijn Haverbeke
86f16b90cd
Support type parameters in resources
...
Some rather dodgy code was added to trans in the process. I'd love to
discuss it with someone who knows more about types during translation.
2011-06-30 18:36:12 +02:00
Eric Holk
63dcd325b9
Adding support for pinning tasks to the currently running thread. Closes #598 .
2011-06-29 18:47:47 -07:00
Graydon Hoare
c796a8f24d
Re-enable tidy (it was broken) and fix various non-tidy things.
2011-06-29 15:14:55 -07:00
Tim Chevalier
1ba85932b1
Add a runtime flag to enable/disable claims en masse
...
Now, if the environment variable CHECK_CLAIMS is set, then all
claims turn into checks. Otherwise, claims are no-ops.
2011-06-29 14:28:02 -07:00
Graydon Hoare
750dcc05e4
Make tests a little more friendly to combine.
2011-06-29 12:14:29 -07:00
Patrick Walton
b18cefdfd7
rustc: Fix a leak that resulted from copying a structural interior type containing interior vectors. Add a test case.
2011-06-29 12:16:07 -07:00
Patrick Walton
a2ce532337
rt: Remove the lock around upcall_vec_append. Add a test case. Closes #156 .
2011-06-29 10:33:51 -07:00
Brian Anderson
6832f75f0b
Support attaching attributes to modules via the crate file. Issue #487
2011-06-28 18:39:34 -07:00
Patrick Walton
74f8eb51ae
rustc: Move duplicate_heap_parts to copy glue; add a test case
2011-06-28 17:59:30 -07:00
Graydon Hoare
5059c5f8fd
Actually notice xfail-stage2 as different from xfail-stage2. Fix affected tests.
2011-06-28 17:36:51 -07:00
Michael Sullivan
b944d8d72e
Require that both sides of a swap be lvals.
2011-06-28 17:28:06 -07:00
Tim Chevalier
9f1444c701
Implement "claim"
...
Implement "claim" (issue #14 ), which is a version of "check" that
doesn't really do the check at runtime. It's an unsafe feature.
The new flag --check-claims turns claims into checks automatically --
but it's off by default, so by default, the assertion in a claim
doesn't execute at runtime.
2011-06-28 16:41:06 -07:00
Eric Holk
866ee6ecb4
Re-enabling some tests.
2011-06-28 16:12:34 -07:00
Eric Holk
49a8cb34d2
Removed dom_owned, splitting things between task_owned and kernel_owned. Had to re-xfail a few tests brson recently un-xfailed.
2011-06-28 16:12:33 -07:00
Eric Holk
64596e6583
Teach the parser and typechecker to understand port[int](). Closes #588
2011-06-28 16:11:04 -07:00
Brian Anderson
46b83a92d6
Add test case for non-matching crate metadata in use statements
2011-06-28 15:58:22 -07:00
Brian Anderson
a83b64d15d
Rework how linkage attributes are determined
...
The meta items within a crate's link attribute are used in linkage:
#[link(name = "std",
vers = "1.0",
custom = "whatever")];
Name and vers are treated specially, and everything else is hashed together
into the crate meta hash.
Issue #487
2011-06-28 15:25:47 -07:00
Brian Anderson
0608e277b6
Add some helper functions for attributes. Issue #487
2011-06-28 15:25:47 -07:00
Tim Chevalier
d832f7abec
Another test for typestate and expr_fn
2011-06-28 13:14:52 -07:00
Tim Chevalier
28459ca0eb
Handle lazy binops properly in typestate
...
The typestate analysis now reflects that the second operand of a
logical and or or may not be evaluated.
2011-06-28 13:07:52 -07:00
Tim Chevalier
926049eddd
Tests only: more tests with constraints and loops
2011-06-28 11:49:11 -07:00