rust/src/test
bors 4e77c1148f auto merge of #10966 : michaelwoerister/rust/prelude2, r=cmr
This PR improves the stepping experience in GDB. It contains some fine tuning of line information and makes *rustc* produce nearly the same IR/DWARF as Clang. The focus of the changes is function prologue handling which has caused some problems in the past (https://github.com/mozilla/rust/issues/9641).

It seems that GDB does not properly handle function prologues when the function uses segmented stacks, i.e. it does not recognize that the `__morestack` check is part of the prologue. When setting a breakpoint like `break foo` it will set the break point before the arguments of `foo()` have been loaded and still contain bogus values. For function with the #[no_split_stack] attribute this problem has never occurred for me so I'm pretty sure that segmented stacks are the cause of the problem. @jdm mentioned that segmented stack won't be completely abandoned after all. I'd be grateful if you could tell me about what the future might bring in this regard (@brson, @cmr).

Anyway, this PR should alleviate this problem at least in the case when setting breakpoints using line numbers and also make it less confusing when setting them via function names because then GDB will break *before* the first statement where one could conceivably argue that arguments need not be initialized yet.

Also, a koala: 🐨

Cheers,
Michael
2013-12-16 05:51:32 -08:00
..
auxiliary Make 'self lifetime illegal. 2013-12-11 10:54:06 -08:00
bench librustc: Remove identifiers named box, since it's about to become a keyword. 2013-12-15 10:41:15 -08:00
codegen Add pub to all the codegen tests 2013-10-10 06:00:51 -07:00
compile-fail Mark live codes in struct/enum for dead-code pass 2013-12-16 02:15:00 -05:00
debug-info debuginfo: Add test cases for function prologue handling. 2013-12-16 10:23:28 +01:00
pretty Handle more cases in the heap lints 2013-12-14 22:56:33 -08:00
run-fail Gate literal box expressions in addition to types 2013-12-12 00:49:57 -08:00
run-make Add test for --dep-info. 2013-12-12 17:11:02 -07:00
run-pass libstd: Fix merge fallout. 2013-12-15 10:41:15 -08:00
run-pass-fulldeps test: Remove most uses of &fn() from the tests. 2013-11-26 08:19:00 -08:00