Commit Graph

3000 Commits

Author SHA1 Message Date
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
Michael Sullivan
a91d301b31 Add xterm to the term lib's list of supported terms. 2011-06-15 17:33:37 -07:00
Brian Anderson
94d971c0e8 rustc: Remove unused variable from check_assignment 2011-06-15 16:48:59 -07:00
Brian Anderson
f50fd6d8ae stdlib: Add color support for GNU screen 2011-06-15 16:38:17 -07:00
Brian Anderson
c19a026f46 stdlib: Add emacs variables to term.rs 2011-06-15 16:28:14 -07:00
Eric Holk
02018fed42 Step 3 of cdecl conversion. 2011-06-15 16:04:39 -07:00
Brian Anderson
14c5900a70 test: Add a compile-fail test for attribute/syntax parsing
I don't currently know how to deal with syntax extensions that appear betweeen
an attribute and an item, so this test captures the error that occurs.

Issue #487
2011-06-15 16:01:39 -07:00
Brian Anderson
2772a29e92 rustc: Support outer attributes on items that are defined as statements
Issue #487
2011-06-15 16:01:35 -07:00
Eric Holk
89ba649c3a Updating snapshots.txt 2011-06-15 15:57:15 -07:00
Brian Anderson
b8a5440b2d stdlib: Add an either module
Like Haskell's, with left and right tags, various conversion functions
2011-06-15 15:45:41 -07:00
Brian Anderson
95bdedf12d test: Add missing fn test cases to run-pass/item-attributes.rs
Issue #487
2011-06-15 15:45:41 -07:00
Tim Chevalier
a5bca7df88 Refactor data structures representing constraints (again...)
I added a "resolved" version of the ast::constr type -- ty::constr_def
-- that has a def_id field instead of an ann_field. This is more
consistent with other types and eliminates some checking.

Incidentally, I removed the def_map argument to the top-level function
in middle::alias, since the ty::ctxt already has a def_map field.
2011-06-15 15:38:12 -07:00
Patrick Walton
52d4f48144 rustc: Move ivec stuff to an ivec module in trans 2011-06-15 14:43:00 -07:00
Eric Holk
92bd35075b Step 2 of cdecl task transition. 2011-06-15 14:25:53 -07:00
Eric Holk
6a3f4abc6f Updating snapshots.txt 2011-06-15 14:19:40 -07:00
Patrick Walton
6c8e94f397 rustc: Change the default interior vector length to 4 per science 2011-06-15 14:14:33 -07:00
Rafael Ávila de Espíndola
a77180f4f5 Add support for producing shared libraries directly in the rust driver. 2011-06-15 16:54:13 -04:00
Marijn Haverbeke
9b5ebe726c Implement checking of alias safety in tail calls. 2011-06-15 21:39:27 +02:00
Marijn Haverbeke
b2b8002fd3 Fix unsafe uses of aliases in tail calls 2011-06-15 21:39:27 +02:00
Marijn Haverbeke
0987b17dcb Small simplification in parser.rs' crate parsing 2011-06-15 21:39:26 +02:00
Lindsey Kuper
1ad69291bc Added issue # to FIXME. 2011-06-15 12:29:34 -07:00
Lindsey Kuper
fa5a7e7453 Simple anonymous objects get through translation. 2011-06-15 12:18:52 -07:00
Lindsey Kuper
59a254ae32 Just some typo fixes. 2011-06-15 12:18:52 -07:00
Eric Holk
01ea27b205 Step 1 of moving task startup to always be cdecl. 2011-06-15 12:10:15 -07:00
Graydon Hoare
766d54df93 Fix a bunch of compile-command lines to use RBUILD 2011-06-15 12:01:19 -07:00
Graydon Hoare
7e806c5e87 Attempt to put out windows tinderbox. 2011-06-15 11:39:31 -07:00
Graydon Hoare
ce72993488 Reformat source tree (minus a couple tests that are still grumpy). 2011-06-15 11:19:50 -07:00
Graydon Hoare
8d381823e2 Print mutability of obj fields. 2011-06-15 10:25:23 -07:00
Graydon Hoare
f03107b58c Fix pp bug on native modules. 2011-06-15 10:09:28 -07:00
Brian Anderson
df6ec4f8ea rustc: Pretty-print outer attributes of items
Issue #487
2011-06-15 09:48:59 -07:00
Brian Anderson
6c6d7c3916 test: Add tests for multiple outer attributes on items
Issue #487
2011-06-15 09:48:59 -07:00
Brian Anderson
1c9277e0d3 rustc: Make room in remaining AST item nodes for attributes
Issue #487
2011-06-15 09:48:55 -07:00
Brian Anderson
697fdaac24 test: Add test cases for outer attributes on all item types 2011-06-15 09:46:38 -07:00
Brian Anderson
11c5c73d56 rustc: Introduce an attribute type to the AST
Right now the only thing that it adds to meta_item is an indication of whether
the attribute was declared inside or outside the item, but I expect it will
become more useful.

Issue #487
2011-06-15 09:46:37 -07:00
Brian Anderson
0eefa5f9d3 rustc: Parse module attributes
Issue #487
2011-06-15 09:46:37 -07:00
Brian Anderson
31116dcdd5 rustc: Make room in item_mod for metadata
Issue #487
2011-06-15 09:46:37 -07:00
Brian Anderson
f42977d946 rustc: Modernize front::eval 2011-06-15 09:46:37 -07:00
Marijn Haverbeke
c7ab88cc35 Implement checking against assignments to immutable obj fields 2011-06-15 14:59:51 +02:00
Marijn Haverbeke
b0d46efd07 Stop dropping object field mutability on the floor 2011-06-15 14:20:04 +02:00
Marijn Haverbeke
0ddade3d7a Extend alias analysis to check assignments
This is a somewhat odd place to put these checks, but the data tracked
by that pass, and the available functions, make it trivial to do such
a check there.
2011-06-15 14:10:07 +02:00
Marijn Haverbeke
5fb518abc9 Fix assignments to immutable fields throughout the code 2011-06-15 14:10:07 +02:00
Marijn Haverbeke
180db08470 Refactor expr_root in alias.rs
It was too clunky and specific before. Now returns a vec of dereference specs
instead of a bunch of special-case information. Further accessors extract
the information they need from this vec.
2011-06-15 11:03:23 +02:00
Patrick Walton
ac743cfcb0 Merge pull request #490 from msullivan/fix_vec_append
Move the implementation of vec_append from llvm assembly to a regular upcall
2011-06-14 18:32:04 -07:00
Patrick Walton
c6be352f73 rustc: Implement on-heap resizing for interior vectors 2011-06-14 18:23:13 -07:00
Graydon Hoare
b7f043eeb7 Add new testcase to show the nature of our exciting block-expr / trailing unop interaction. 2011-06-14 17:07:48 -07:00
Rafael Ávila de Espíndola
ec9c4fdde7 Merge remote branch 'upstream/master' 2011-06-14 19:29:30 -04:00
Rafael Ávila de Espíndola
e6f87a7525 Use new snapshot. 2011-06-14 19:28:39 -04:00
Michael Sullivan
ccd1bcf7a7 Make tydesc glue functions use cdecl. 2011-06-14 16:09:21 -07:00
Michael Sullivan
5378f48a03 Remove vec_append_glue from the compiler. 2011-06-14 16:09:17 -07:00
Patrick Walton
14258b87a7 rustc: Free heapified interior vectors 2011-06-14 16:00:30 -07:00
Patrick Walton
bd18860be7 rustc: Fix LLVM type error that occurred when translating large unique vector literals 2011-06-14 16:00:02 -07:00
Michael Sullivan
95def699f1 Implement upcall_vec_append and use it for vector append. 2011-06-14 15:35:09 -07:00
Michael Sullivan
491d110645 Make type_desc fields have useful types and better names. Add in cmp_glue. 2011-06-14 15:35:08 -07:00
Tim Chevalier
36755e42df Remove some unnecessary xfails 2011-06-14 15:11:48 -07:00
Tim Chevalier
05b7eb6dff Make the typechecker check that dynamically sized arguments are passed by alias
Before, this would cause an assertion failure in trans.
2011-06-14 15:11:48 -07:00
Rafael Ávila de Espíndola
c3015b8952 Apply the makefile changes again, this time fixin the driver to not produce a
rustc.exe.exe.
2011-06-14 17:51:31 -04:00
Tim Chevalier
1cc7165e62 Un-xfail test/run-fail/pred.rs 2011-06-14 14:17:28 -07:00
Tim Chevalier
1513539b67 Improve error message for a failed assert or check 2011-06-14 14:17:28 -07:00