rust/src/libcore/rt
bors fdb4ef321e auto merge of #5726 : brson/rust/struct-return, r=brson
r? @nikomatsakis

This doesn't completely fix the x86 ABI for structs, but it does fix some cases. On linux, structs appear to be returned correctly now. On windows, structs are only returned by pointer when they are greater than 8 bytes. That scenario works now.

In the case where the struct is less than 8 bytes our generated code looks peculiar. When returning a pair of u16, C packs both variables into %eax to return them. Our generated code though expects to find one of the pair in %ax and the other in %dx. Similar for u8. I haven't looked into it yet.

There appears to also be struct passing problems on linux, where my `extern-pass-TwoU8s` and `extern-pass-TwoU16s` tests are failing.
2013-04-17 18:45:58 -07:00
..
io Removing unused imports 2013-03-28 23:56:46 -04:00
uv rustc: Use an out pointer to return structs in x86 C ABI. #5347 2013-04-17 15:49:19 -07:00
context.rs core: remove unnecessary unsafe blocks/functions 2013-04-14 01:15:46 -04:00
env.rs librustc: Enforce privacy for static methods. 2013-03-19 13:40:48 -07:00
mod.rs Correct type signature for start lang item. 2013-03-30 19:59:21 -07:00
rtio.rs core: changes in response to #5656 2013-04-10 17:32:03 -07:00
sched.rs core: changes in response to #5656 2013-04-10 17:32:03 -07:00
stack.rs Merge remote-tracking branch 'brson/rt' 2013-03-25 12:28:54 -07:00
thread.rs Merge remote-tracking branch 'brson/rt' 2013-03-25 12:28:54 -07:00
thread_local_storage.rs core: remove unnecessary unsafe blocks/functions 2013-04-14 01:15:46 -04:00
uvio.rs core: changes in response to #5656 2013-04-10 17:32:03 -07:00
uvll.rs librustc: Remove fail_unless! 2013-03-29 16:39:08 -07:00
work_queue.rs librustc: Remove all uses of static from functions. rs=destatic 2013-03-22 10:27:39 -07:00