rust/src/test
Josh Stone a9bb599fb1 powerpc64: improve extern struct ABI
These fixes all have to do with the 64-bit PowerPC ELF ABI for big-endian
targets.  The ELF v2 ABI for powerpc64le already worked well.

- Return after marking return aggregates indirect. Fixes #42757.
- Pass one-member float aggregates as direct argument values.
- Aggregate arguments less than 64-bit must be written in the least-
  significant bits of the parameter space.
- Larger aggregates are instead padded at the tail.
  (i.e. filling MSBs, padding the remaining LSBs.)

New tests were also added for the single-float aggregate, and a 3-byte
aggregate to check that it's filled into LSBs.  Overall, at least these
formerly-failing tests now pass on powerpc64:

- run-make/extern-fn-struct-passing-abi
- run-make/extern-fn-with-packed-struct
- run-pass/extern-pass-TwoU16s.rs
- run-pass/extern-pass-TwoU8s.rs
- run-pass/struct-return.rs
2017-09-01 18:21:29 -07:00
..
codegen
codegen-units
compile-fail
compile-fail-fulldeps
debuginfo
incremental
mir-opt rustc: use hir::ItemLocalId instead of ast::NodeId in CodeExtent. 2017-09-01 11:18:31 +03:00
parse-fail Auto merge of #43425 - matklad:lambda-restrictions, r=eddyb 2017-08-31 23:26:47 +00:00
pretty
run-fail
run-fail-fulldeps
run-make powerpc64: improve extern struct ABI 2017-09-01 18:21:29 -07:00
run-pass Auto merge of #44233 - Mark-Simulacrum:rollup, r=Mark-Simulacrum 2017-09-01 04:50:00 +00:00
run-pass-fulldeps
run-pass-valgrind
rustdoc Fix tests 2017-09-01 20:07:04 +12:00
ui rustc: take TyCtxt and RegionMaps in CodeMap::span. 2017-09-01 11:17:03 +03:00
ui-fulldeps
COMPILER_TESTS.md