about summary refs log tree commit diff
path: root/library/std/src/sys/unix/process/process_unix.rs
diff options
context:
space:
mode:
authorYuki Okushi <jtitor@2k36.org>2021-07-11 01:15:41 +0900
committerGitHub <noreply@github.com>2021-07-11 01:15:41 +0900
commit945458d4722c585775c4ad9ca2a22ae040879658 (patch)
tree83211759593b44eff3263c8400659fc2c24ead3a /library/std/src/sys/unix/process/process_unix.rs
parent0ca5fc2e33f8dacc75872a7528870bf7ff1a157b (diff)
parenta7bfd35966b112fc5033e9fb549e081b8541a15b (diff)
downloadrust-945458d4722c585775c4ad9ca2a22ae040879658.tar.gz
rust-945458d4722c585775c4ad9ca2a22ae040879658.zip
Rollup merge of #87013 - FabianWolff:issue-83921, r=estebank
Fix several ICEs related to malformed `#[repr(...)]` attributes

This PR fixes #83921. #83921 actually contains two related but distinct issues (one of them incorrectly reported as a duplicate in https://github.com/rust-lang/rust/issues/83921#issuecomment-814640734):

In the first, a call to `delay_span_bug` leads to an ICE when compiling with `-Zunpretty=everybody_loops` (and some other pretty-printing modes), because the corresponding error is emitted in a later pass, which does not run when only pretty-printing is requested.

The second issue is about parsing `#[repr(...)]` attributes. Currently, all of the following cause an ICE when applied to a struct/enum:
```rust
#[repr(packed())]
#[repr(align)]
#[repr(align(2, 4))]
#[repr(align())]
#[repr(i8())]
#[repr(u32(42))]
#[repr(i64 = 2)]
```
I have fixed this by expanding the well-formedness checks in `find_repr_attrs()`.
Diffstat (limited to 'library/std/src/sys/unix/process/process_unix.rs')
0 files changed, 0 insertions, 0 deletions