Commit graph

4573 commits

Author SHA1 Message Date
Michael Woerister
6a3094159f debuginfo: Fixed some instances of gdb wrongly printing u8/i8 values as chars. 2013-06-27 19:28:37 +02:00
Michael Woerister
fb3e17b93a debuginfo: Added test cases for region pointers into heap boxes for basic types. 2013-06-27 19:28:37 +02:00
Michael Woerister
751f0fba6f debuginfo: Added test case for region pointers pointing to stack values with basic type. 2013-06-27 19:28:37 +02:00
Michael Woerister
168eba9201 debuginfo: Added test case for structs with destructor. 2013-06-27 19:28:17 +02:00
Michael Woerister
0b5fef3b26 debuginfo: Added test case for local variable scopes. 2013-06-27 19:28:17 +02:00
Michael Woerister
1dc8e76d3a debuginfo: Made test cases use correct naming convention for variables. 2013-06-27 19:28:17 +02:00
Michael Woerister
5f97a6e951 debuginfo: Added test cases for tuples contained in structs. 2013-06-27 19:28:17 +02:00
Michael Woerister
36aa04b9ab debuginfo: Added test cases for tuples. 2013-06-27 19:28:17 +02:00
Michael Woerister
fda193de24 Extended test cases for struct debug information.
Added test cases for different kinds of padding (simple-struct.rs)
Added test cases for nested structs (struct-in-struct.rs)
2013-06-27 19:28:17 +02:00
bors
a28f9ba526 auto merge of #7361 : brson/rust/incoming, r=brson 2013-06-27 01:04:33 -07:00
bors
f1e09d6f1f auto merge of #7420 : mozilla/rust/rollup, r=thestinger 2013-06-26 23:07:41 -07:00
bors
eda5e40b79 auto merge of #7111 : brson/rust/stack, r=brson
... through yields

This avoids the following pathological scenario that makes threadring OOM:

1) task calls C using fast_ffi, borrowing a big stack from the scheduler.
2) task returns from C and places the big stack on the task-local stack segment list
3) task calls further Rust functions that require growing the stack, and for this reuses the big stack
4) task yields, failing to return the big stack to the scheduler.
5) repeat 500+ times and OOM

(reopening after incoming fallout. *do not r+*. broken)
2013-06-26 20:40:31 -07:00
bors
36d7f601d8 auto merge of #7354 : bblum/rust/trait-bounds, r=pcwalton
r? @nikomatsakis
2013-06-26 17:37:29 -07:00
Corey Richardson
58fc1fccad last bit of whitespace 2013-06-26 19:00:44 -04:00
Nick Desaulniers
82fa5b615e Fix run-pass/match-borrowed_str.rs Fixes #7306 2013-06-26 18:26:09 -04:00
Ben Blum
c37ccac931 Add a run-pass test for existential traits in ARCs. 2013-06-26 18:19:07 -04:00
Brian Anderson
8918461fc4 rt: Release big stacks immediately after use to avoid holding on to them through yields
This avoids the following pathological scenario that makes threadring OOM:

1) task calls C using fast_ffi, borrowing a big stack from the scheduler.
2) task returns from C and places the big stack on the task-local stack segment list
3) task calls further Rust functions that require growing the stack, and for this reuses the big stack
4) task yields, failing to return the big stack to the scheduler.
5) repeat 500+ times and OOM

Conflicts:
	src/rt/rust_task.cpp
2013-06-26 15:18:36 -07:00
Ben Blum
21aeb0f6cf Fix pretty-printing for bounded closures. Close #7333. 2013-06-26 18:14:43 -04:00
Ben Blum
d0f56db963 Change expected error message in kindchk compile-fail tests. 2013-06-26 18:14:43 -04:00
Ben Blum
7b968783d7 Infer default static/Owned bounds for unbounded heap fns/traits (#7264) 2013-06-26 18:14:43 -04:00
Philipp Brüschweiler
2234f61038 Remove the last traces of shapes 2013-06-26 18:08:23 -04:00
bors
23fb2278c7 auto merge of #7356 : msullivan/rust/default-methods, r=bblum
r?
2013-06-26 12:08:33 -07:00
Huon Wilson
73e3dbf9c0 driver: perform stripping before and after macro expansion.
This allows macros to both be conditionally defined, and expand
to items with #[cfg]'s.
2013-06-26 23:02:14 +10:00
bors
22408d9ad5 auto merge of #7269 : luqmana/rust/drop, r=thestinger
Finally rename finalize to drop.
Closes #4332.
2013-06-25 20:29:06 -07:00
Brian Anderson
5d3ca4b843 Merge remote-tracking branch 'mozilla/master' into incoming
Conflicts:
	src/librustc/middle/astencode.rs
	src/librustc/middle/check_const.rs
2013-06-25 19:32:00 -07:00
Luqman Aden
ca2966c6d0 Change finalize -> drop. 2013-06-25 21:14:39 -04:00
bors
efd1438770 auto merge of #7373 : thestinger/rust/iterator, r=huonw 2013-06-25 15:22:55 -07:00
Daniel Micay
e44e33dfa9 xfail test hitting a codegen bug (issue #7385) 2013-06-25 16:31:17 -04:00
Daniel Micay
e67c48a591 remove each from vec, HashMap and HashSet 2013-06-25 16:28:02 -04:00
Daniel Micay
64ee9668a2 container: remove internal iterators from Map
the maps are being migrated to external iterators
2013-06-25 16:26:23 -04:00
bors
4967bd0508 auto merge of #7325 : artagnon/rust/resolve-module, r=cmr
Fix #7322.

I started out with a band-aid approach to special-case the duplicate module error using `is_duplicate_module`, but thought this would be better in the long term.
2013-06-25 13:11:11 -07:00
Ramkumar Ramachandra
9f80591d84 resolve: report duplicate module definitions
add_child() is responsible for reporting errors about type, value, and
module duplicate definitions.  Although it checks for all three, it uses
namespace_to_str() to convert a Namespace value into a string before
printing an error like:

  error: duplicate definition of type `foo`
                                 ^^^^
  note: first definition of type foo here:
                            ^^^^

Unfortunately, this string can only be one of "type" or
"value" (corresponding to TypeNS and ValueNS respectively), and it
reports duplicate modules as duplicate types.

To alleviate the problem, define a special NamespaceError enum to define
more specialized errors, and use it instead of attempting to reuse the
Namespace enum.

Reported-by: Corey Richardson <corey@octayn.net>
Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
2013-06-25 23:58:48 +05:30
Michael Sullivan
276463f064 Fix another generics bug with default methods. Closes #7295. 2013-06-25 11:20:02 -07:00
bors
032dcc57e8 auto merge of #7371 : alexcrichton/rust/trying, r=cmr
This is an attempt at a smaller request than #7113, it's just the first two commits
2013-06-25 10:47:01 -07:00
Alex Crichton
92424f0670 Add the warnings lint attribute 2013-06-25 08:55:15 -07:00
bors
d161e630d8 auto merge of #7317 : Aatch/rust/no-drop-flag, r=thestinger
This adds a `#[no_drop_flag]` attribute. This attribute tells the compiler to omit the drop flag from the struct, if it has a destructor. When the destructor is run, instead of setting the drop flag, it instead zeroes-out the struct. This means the destructor can run multiple times and therefore it is up to the developer to use it safely.

The primary usage case for this is smart-pointer types like `Rc<T>` as the extra flag caused the struct to be 1 word larger because of alignment.

This closes #7271 and #7138
2013-06-25 07:23:06 -07:00
bors
7aee5da08d auto merge of #7254 : Blei/rust/intrinsic-overhaul, r=cmr
This sets the `get_tydesc()` return type correctly and removes the intrinsic module. See #3730, #3475.

Update: this now also removes the unused shape fields in tydescs.
2013-06-25 04:38:06 -07:00
bors
b11346bb5d auto merge of #7291 : alexcrichton/rust/static-mut, r=huonw
This adds both `static mut` items and `static mut` foreign items. This involved changing far less code than I thought it was going to, but the tests seem to pass and the variables seem functional.

I'm more than willing to write more tests, so suggestions are welcome!

Closes #553
2013-06-25 01:59:05 -07:00
James Miller
d9f6dd263c Set #[no_drop_flag] on Rc<T> and AtomicOption. Add Test 2013-06-25 16:11:34 +12:00
Brian Anderson
3b7d4b93ff Merge remote-tracking branch 'cmr/issue/2773' into HEAD 2013-06-24 14:07:05 -07:00
Philipp Brueschweiler
f8ae3cdcaa Fix test failure on windows
This patch ensures that the multiple extern definitions of `free` in the
run-pass tests have the same declaration, working around #7352.
2013-06-24 19:14:20 +02:00
Alex Crichton
b94f89fffc Fix 'static mut' tests 2013-06-24 07:42:32 -07:00
Corey Richardson
fe6a4fd74a Un-xfail working test 2013-06-24 08:05:41 -04:00
bors
c6515ee6a7 auto merge of #7193 : Thiez/rust/fixbench, r=cmr
This PR fixes a few problems with the benchmark, mentioned in #2913. Since I do not have a 4GB RAM machine (I run rust on a puny 2GB RAM VM) I can't test binarytrees with N=20. If it works we can close #2913.

Fixes: 1) binarytrees prints "long lived trees of depth" instead of "long lived tree of depth"
Fixes: 2) chameneosredux -- the whitespace printed by show_number should be the same as printed by show_color
Already fixed: 3) spectralnorm prints an extra 

Fixes: 4) threadring prints an extra 

Fixes: 5) fasta -- strangely, output stops half-way through line 169 -- with another 8166 lines still to do.
Could not test: 6) the latest binarytrees fails with input N=20 on a 4GB machine.

r?
2013-06-24 04:43:51 -07:00
Daniel Micay
1e7ca8dd24 xfail-pretty on un-xfailed test 2013-06-24 01:45:06 -04:00
Daniel Micay
60ed659620 deal with windows 2013-06-24 01:35:12 -04:00
Daniel Micay
369b0a56e8 xfail tests again for now (issues #7336, #7340) 2013-06-24 01:35:12 -04:00
Corey Richardson
adb8ac4162 Fix/annotate a variety of xfails 2013-06-24 01:35:11 -04:00
Daniel Micay
e2e39234cc remove old_iter
the `test/run-pass/class-trait-bounded-param.rs` test was xfailed and
written in an ancient dialect of Rust so I've just removed it

this also removes `to_vec` from DList because it's provided by
`std::iter::to_vec`

an Iterator implementation is added for OptVec but some transitional
internal iterator methods are still left
2013-06-24 01:35:11 -04:00
Alex Crichton
8fdc8f392c Support foreign 'static mut' variables as well 2013-06-23 18:00:32 -07:00