Brian Anderson
7fe9a88e31
rustc: Re-introduce session.span_err, session.err
...
These errors are non-fatal. The session.abort_if_errors function needs to be
called at strategic points to convert the previous errors to utter failure.
Issue #440
2011-06-19 02:41:02 -07:00
Brian Anderson
c394a7f49a
rustc: Rename session.span_err -> span_fatal, err -> fatal
...
Issue #440
2011-06-19 02:40:59 -07:00
Brian Anderson
514813148b
rustc: Store the lhs and rhs of receive exprs in left to right order
...
With the changing of receive semantics the parser has been putting the rhs
expression in the first argument of expr_recv and the lhs in the second, and
all subsequent passes have been referring to them backwords (but still doing
the right thing because they were assuming that lhs was the port and rhs was
the receiver).
This makes all code agree on what lhs and rhs mean for receive expressions.
2011-06-18 20:23:05 -07:00
Brian Anderson
364cd5763c
rustc: receive is spelled |> now
2011-06-18 20:23:05 -07:00
Brian Anderson
3852f1eee3
Typecheck block tail expressions that are fn return values
2011-06-18 20:23:05 -07:00
Brian Anderson
ddbb31eb8e
rustc: Remove the meta keyword
...
Issue #487
2011-06-18 20:23:05 -07:00
Brian Anderson
f58de2d687
Replace unexported meta tags with attributes
...
Issue #487
2011-06-18 20:23:05 -07:00
Brian Anderson
60023047a4
rustc: Replace 'export meta' with attributes
...
Issue #487
2011-06-18 20:23:05 -07:00
Graydon Hoare
814beaafdf
Add -lssp on windows in attempt to put out tinderbox; no idea why ssp seems required on mingw.
2011-06-18 22:07:02 -04:00
Patrick Walton
7bb6733f2c
test: Add a test case for derived-tydescs-before-dynamic-allocas
2011-06-18 18:44:21 -07:00
Patrick Walton
4f13879218
rustc: Allocate derived tydescs before dynamically sized allocas
2011-06-18 18:43:07 -07:00
Patrick Walton
877f001512
rustc: Don't bother to supply an alignment argument to the memmove intrinsic; LLVM is very fussy about what it considers a constant.
2011-06-18 16:59:44 -07:00
Patrick Walton
ca2ff9c50d
stdlib: Add ivec::grow_set()
2011-06-18 16:41:09 -07:00
Patrick Walton
5d90b1df4b
stdlib: Add ivec::grow() and ivec::grow_fn()
2011-06-18 16:29:45 -07:00
Patrick Walton
ef65542b1d
test: Add test cases for ivec::init_elt, ivec::last, and ivec::slice
2011-06-18 16:05:44 -07:00
Patrick Walton
2ba7729ae7
rustc: Cache results of type_has_pointers. 70% translation speedup.
2011-06-18 00:41:25 -07:00
Patrick Walton
b2bcafe6fd
stdlib: Add some more ivec functions, untested as of yet
2011-06-17 19:16:26 -07:00
Patrick Walton
5894e400b6
rustc: Add missing case for interior vectors in alias.rs
2011-06-17 19:16:26 -07:00
Tim Chevalier
7fc89f573d
Restructure the "checking" pass in typestate
...
I noticed that typestate was being lazier than it should be,
because it was only checking typestate for statements and
top-level expression (that is, the expression in a stmt_expr, but
not any subexpressions). So I rewrote the checks in tstate/ck.rs
to use walk, which exposed a few bugs in typestate that I fixed.
Also added some more test cases for if-check.
2011-06-17 19:09:18 -07:00
Patrick Walton
a4eb6630f3
rustc: Increment by the dynamically-computed size in ivec::trans_append. Uncomment init_fn test in lib-ivec.
2011-06-17 19:01:14 -07:00
Brian Anderson
77189f834c
rustc: Use correct version key in metadata
2011-06-17 18:33:07 -07:00
Brian Anderson
bd93e1abcd
Register new snapshots. Update location of stage0's libstd
2011-06-17 18:19:37 -07:00
Patrick Walton
e0afcb400b
test: Comment out the init-fn line in lib-ivec. Puts out burning tinderbox.
2011-06-17 17:53:43 -07:00
Patrick Walton
5fb9325848
rustc: Fix a bunch of memory management bugs relating to generic interior vectors. Uncomment all tests in lib-ivec.
2011-06-17 17:31:24 -07:00
Patrick Walton
68122edac3
Revert "rustc: Fix a bunch of memory management bugs relating to generic interior vectors"
...
This reverts commit 2b5e40311d
.
2011-06-17 16:38:47 -07:00
Patrick Walton
2b5e40311d
rustc: Fix a bunch of memory management bugs relating to generic interior vectors
2011-06-17 16:23:06 -07:00
unknown
8c6354ceb9
Made sure getcwd and friends work well on Windows.
2011-06-17 15:53:21 -07:00
Eric Holk
7c57b8baf5
Updating rustrt.def.in so that the path manipulation functions work on OS X.
2011-06-17 15:53:20 -07:00
Eric Holk
9adacfb26a
Adding a test case for getcwd and related functions.
2011-06-17 15:53:20 -07:00
Eric Holk
a40116b398
stdlib: added getcwd and a convenience function to make relative paths absolute. This will be helpful for #441 .
2011-06-17 15:53:19 -07:00
Brian Anderson
175fd8ee73
Update snapshot scripts to understand new dir layout
2011-06-17 15:39:58 -07:00
Eric Holk
2c1b269960
Implemented enough of deep_copy that we can pass scalars and channels to tasks. Closes #507 .
2011-06-17 15:17:46 -07:00
Eric Holk
81fc51a8d7
Started using deep_copy for spawn arguments.
2011-06-17 15:17:46 -07:00
Eric Holk
71e1db596c
Added a test case for #507
2011-06-17 15:17:46 -07:00
Brian Anderson
6e6bc5076c
rustc: Support both meta tags and attributes for crate metadata
...
This is a transitional patch for converting from 'meta' to attributes.
Issue #487
2011-06-17 15:07:34 -07:00
Brian Anderson
81a187e8be
rustc: Remove metadata from the session.
...
This mechanism was not being used for anything. Issue #487 .
2011-06-17 14:46:59 -07:00
Rafael Ávila de Espíndola
342dbd7abe
Put std in stageN/lib. This avoids windows trying to load stageN/std.ll when
...
stageN/runstc.exe is run.
2011-06-17 15:34:59 -04:00
Patrick Walton
e43a3755dd
rustc: Add a type_owns_heap_mem() predicate
2011-06-17 12:32:18 -07:00
Patrick Walton
dfb806b367
rustc: Cast to opaque interior vector types in trans_vec_append if necessary. Puts out burning tinderbox.
2011-06-17 12:23:04 -07:00
Patrick Walton
4918c99f69
rustc: Copy the contents of generic interior vectors
2011-06-17 12:22:53 -07:00
Patrick Walton
4bb7597542
Revert "rustc: Copy the contents of generic interior vectors"
...
This reverts commit 5bdbe1dfc2
.
2011-06-17 12:03:21 -07:00
Patrick Walton
5bdbe1dfc2
rustc: Copy the contents of generic interior vectors
2011-06-17 11:45:51 -07:00
Brian Anderson
e8228e1260
rustc: Demand that if conditions have bool type
...
Closes #513
2011-06-17 11:35:00 -07:00
Brian Anderson
a4d88dacc9
rustc: Fail to unify if two ty_vars don't unify
...
Closes #500
2011-06-17 11:35:00 -07:00
Brian Anderson
2a69db5b76
test: Fix mismatched types in prep for typechecker fixes
...
Issue #500
2011-06-17 11:35:00 -07:00
Brian Anderson
753da64fd6
rustc: Demand unification of both sides of a binop
...
Issue #500
2011-06-17 11:35:00 -07:00
Rafael Ávila de Espíndola
1dbc0442cd
Automatically add a -L to the directory the binary is in.
2011-06-17 13:36:08 -04:00
Patrick Walton
982f51aa95
stdlib: Fix reserve on zero-length interior vectors; uncomment test_unsafe_ptrs()
2011-06-16 18:01:57 -07:00
Paul Stansifer
391348ec86
Consistify ast::local.
2011-06-16 17:56:24 -07:00
Patrick Walton
d47101703e
stdlib: Sketch out ivec::init_fn, currently segfaulting
2011-06-16 17:48:59 -07:00
Patrick Walton
ab7ebb608a
rustc: Fix dominance issue when translating generic interior vectors
2011-06-16 17:48:32 -07:00
Brian Anderson
a68a5c9b5e
Disable lib-ivec's test_unsafe_ptrs. Not working here
2011-06-16 17:34:39 -07:00
Brian Anderson
6f4326c54d
Add better error messages for bad attributes in .rc files
...
Issue #487
2011-06-16 17:23:20 -07:00
Brian Anderson
4b8fba5f34
rustc: Fix regressed handling of bad attributes
...
Issue #487
2011-06-16 17:23:20 -07:00
Brian Anderson
ffa7c76ed2
rustc: Change print_file to print_crate
...
The pretty-printer needs access to the crate attributes in order to reproduce
inner crate attributes in standalone .rs files
Issue #487
2011-06-16 17:23:20 -07:00
Brian Anderson
e83a115d79
rustc: Parse crate attributes in standalone .rs files
...
Issue #487
2011-06-16 17:23:20 -07:00
Brian Anderson
ffae642663
rustc: Parse attributes in crate files
...
Issue #487
2011-06-16 17:23:20 -07:00
Brian Anderson
62939e41b2
rustc: Parse inner items of file-level modules linked from crate files
...
Issue #487
2011-06-16 17:23:20 -07:00
Patrick Walton
40746fa447
rustc: Implement conversions from interior vector data to unsafe pointers and vice-versa
2011-06-16 17:07:02 -07:00
Patrick Walton
e50c918e6b
rustc: Implement type walking and comparison glue for unsafe pointers
2011-06-16 17:07:02 -07:00
Graydon Hoare
b84fffaa4e
Reformat a bunch of recent churn.
2011-06-16 16:55:46 -07:00
Graydon Hoare
eb9969f546
Add support for marking files no-reformat.
2011-06-16 16:42:29 -07:00
Patrick Walton
050f62983d
stdlib: Introduce an ivec module into the standard library; add a minimal test case
2011-06-16 16:08:26 -07:00
Patrick Walton
94cd2985b2
rustc: Parse T[mutable?]
2011-06-16 15:17:06 -07:00
Patrick Walton
d90ad442b4
rustc: Work around leak when translating interior vectors. Un-XFAIL interior-vec.rs.
2011-06-16 15:07:21 -07:00
Patrick Walton
5b341443da
test: Add an interior-vec test case, XFAIL'd for now because of leaks in the compiler
2011-06-16 14:30:10 -07:00
Patrick Walton
e7575b9f3a
rustc: Add cases for istr and ivec to visit
2011-06-16 14:26:11 -07:00
Brian Anderson
99301ff830
test: Add a test for outer attributes on the first module in a file
...
Issue #487
2011-06-16 14:21:43 -07:00
Brian Anderson
b727d079ed
rustc: Pretty print module inner attributes
...
Issue #487
2011-06-16 14:21:43 -07:00
Brian Anderson
43cbbabccb
rustc: Correctly mark attributes as inner attributes
...
Issue #487
2011-06-16 14:21:43 -07:00
Brian Anderson
f3996d32b0
rustc: Parse inner attributes of modules
...
Issue #487
2011-06-16 14:21:42 -07:00
Brian Anderson
0efd7fac8a
stdlib: Add option::is_some
2011-06-16 14:21:42 -07:00
Tim Chevalier
49a4867da6
Pretty-print if-check
2011-06-16 14:08:48 -07:00
Patrick Walton
4fc286e24e
rustc: Parse interior vector types in which the base type is a path properly
2011-06-16 14:03:07 -07:00
Patrick Walton
9210afc8a5
rustc: Pretty print interior vector types
2011-06-16 14:03:07 -07:00
Eric Holk
6ed6791df4
Removing dead upcall_join. Closes #509 .
2011-06-16 12:23:13 -07:00
Lindsey Kuper
a5563e173e
Clean up whitespace oddities perpetrated by pretty-printer.
2011-06-16 12:21:49 -07:00
Lindsey Kuper
efc55b2a3d
Simple anonymous objects compile with stage0.
2011-06-16 12:21:49 -07:00
Tim Chevalier
219924e669
Bring back if-check
...
Add "if check" (expr_if_check), a variation on check that executes
an "else" clause rather than failing if the check doesn't hold.
2011-06-16 12:13:20 -07:00
Tim Chevalier
94ae4590c5
if-check test case
2011-06-16 12:13:20 -07:00
Michael Sullivan
bd8f6097a7
Get rid of old vec_append glue.
2011-06-16 11:58:29 -07:00
Michael Sullivan
a9d62e5a90
Write some tests for swap.
2011-06-16 11:47:54 -07:00
Michael Sullivan
272c7e2e87
Translate the swap operator.
2011-06-16 11:47:54 -07:00
Michael Sullivan
bc33a5fe50
Fix bug in move on structure types.
2011-06-16 11:47:54 -07:00
Michael Sullivan
cfd1f74ebb
Bring swap through typechecking and typestate.
2011-06-16 11:47:54 -07:00
Michael Sullivan
066599104a
Parse swap.
2011-06-16 11:47:54 -07:00
Michael Sullivan
e8d2d27a88
Add "<->" to the token definition and the lexer.
2011-06-16 11:47:54 -07:00
Patrick Walton
02c0501a61
rt: memory_region::free(NULL) shouldn't touch the live allocation count
2011-06-16 11:16:03 -07:00
Patrick Walton
4673eb6839
rustc: Fix LLVM type error when generating cmp glue for interior vectors
2011-06-16 11:16:03 -07:00
Rafael Ávila de Espíndola
741e77174c
Merge remote branch 'upstream/master'
2011-06-16 14:09:15 -04:00
Rafael Ávila de Espíndola
c51ac6730f
Update the snapshots.
2011-06-16 13:49:57 -04:00
Patrick Walton
f9da8b2676
rt: Add an ivec length intrinsic and an ivec reserve function, both untested as of yet
2011-06-16 10:32:52 -07:00
Patrick Walton
66c52036da
rustc: Change interior vector syntax to T[]
2011-06-16 10:13:39 -07:00
Marijn Haverbeke
15f71b3600
Refactor ast::item representation
...
Most of the fields in an AST item were present in all variants. Things
could be simplified considerably by putting them in the rec rather
than in the variant tags.
2011-06-16 13:32:35 +02:00
Brian Anderson
6c2f322f82
Improve and test failure behavior for malformed attributes
2011-06-15 19:30:10 -07:00
Eric Holk
67360ae618
Fixed a problem where spawn arguments were getting lost again. Also, fixed up stack alignment, which closes #496
2011-06-15 18:16:59 -07:00
Eric Holk
c4f9bd9470
Re-enabled join.
2011-06-15 18:16:59 -07:00
Patrick Walton
1fa9133b76
rustc: Implement interior vector concatenation
2011-06-15 18:03:25 -07:00
Eric Holk
260aa408f3
Merge branch 'master' of github.com:graydon/rust into fastcall
2011-06-15 17:45:24 -07:00
Eric Holk
405c164f02
Updating snapshots.txt. Closes #495 .
2011-06-15 17:45:02 -07:00