about summary refs log tree commit diff
path: root/src/libstd/sys/unix/process/process_unix.rs
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2017-08-13 23:33:18 +0000
committerbors <bors@rust-lang.org>2017-08-13 23:33:18 +0000
commitf3cf2062015200c0705ec2820dd02a7b9dc9bb22 (patch)
treeb149697c31af598a1db90730d72d8dca1d2cd8b8 /src/libstd/sys/unix/process/process_unix.rs
parentab40a7cb0e01159a04d4cfffc432c6d77f1f23c8 (diff)
parentfaf6b84304dbc96f7bf142973f394f820e390a4c (diff)
downloadrust-f3cf2062015200c0705ec2820dd02a7b9dc9bb22.tar.gz
rust-f3cf2062015200c0705ec2820dd02a7b9dc9bb22.zip
Auto merge of #43836 - taleks:issue-39827, r=arielb1
Fix for issue #39827

*Cause of the issue*

While preparing for `trans_intrinsic_call()` invoke arguments are processed with `trans_argument()` method which excludes zero-sized types from argument list (to be more correct - all arguments for which `ArgKind` is `Ignore` are filtered out). As result `volatile_store()` intrinsic gets one argument instead of expected address and value.

*How it is fixed*

Modification of the `trans_argument()` method may cause side effects, therefore change was implemented in `volatile_store()` intrinsic building code itself. Now it checks function signature and if it was specialised with zero-sized type, then emits `C_nil()` instead of accessing non-existing second argument.
Diffstat (limited to 'src/libstd/sys/unix/process/process_unix.rs')
0 files changed, 0 insertions, 0 deletions