Uh oh!
There was an error while loading. Please reload this page.
Test and reject out-of-bounds shuffle vectors - #76768
Conversation
rust-highfive
commented
Sep 15, 2020
(rust_highfive has picked a reviewer for you, use r? to override) |
jyn514
commented
Sep 16, 2020
r? @RalfJung |
RalfJung
commented
Sep 16, 2020
Thanks, this looks good! Is |
Well, I can macro the test over the various other LLVM shuffle intrinsics. It didn't seem immediately necessary because they would all follow the pattern, so I figured any old canary would tell us how it is in the coalmine. But there are actually a few other tests for this floating in the compiler that verify this error code is emitted (since it basically exists for this issue). As far as I can tell, it would be only the shuffles, and maybe insert/extract, that could apply out-of-bounds logic in the first place. |
RalfJung
commented
Sep 16, 2020
Yeah, would be good to have all intrinsic bounds checks covered here. Canaries are great but without knowing how the check works internally it is easy to think one has covered all code paths but forget about some odd special case... When I grep for that error code, most existing tests seem to be about other aspects? In fact I can see none that says anything about "out of bounds". The test should cover all intrinsics that can have that particular error. The error code is for all sorts of problems with intrinsics. |
workingjubilee
commented
Sep 16, 2020
That's completely fair, will generalize this fully then (and figure out if insert/extract can go OOB... if they can, I'll include them). |
RalfJung
commented
Sep 27, 2020
@workingjubilee From what I can see, this is still outstanding. |
workingjubilee
commented
Oct 3, 2020
Indeed it was! @rustbot modify labels: -S-waiting-on-author, +S-waiting-on-review |
815296c to
628b5a5Compare628b5a5 to
c47caeaCompareworkingjubilee
commented
Oct 3, 2020
Force pushes were tidy thrash, whoops. |
Uh oh!
There was an error while loading. Please reload this page.
RalfJung
commented
Oct 3, 2020
r=me with or without |
workingjubilee
commented
Oct 3, 2020
rustbot
commented
Oct 3, 2020
Error: Label if can only be set by Rust team members Please let |
bors
commented
Oct 3, 2020
@workingjubilee: 🔑 Insufficient privileges: Not in reviewers |
workingjubilee
commented
Oct 3, 2020
RIP me. 💦 |
jyn514
commented
Oct 3, 2020
@bors r=ralfjung rollup |
bors
commented
Oct 3, 2020
📌 Commit 2fcd183 has been approved by |
RalfJung
commented
Oct 3, 2020
Sorry -- next time I'll let bors know that you can do this. :) |
Rollup of 11 pull requests Successful merges: - rust-lang#75143 (Use `tracing` spans to trace the entire MIR interp stack) - rust-lang#75699 (Uplift drop-bounds lint from clippy) - rust-lang#76768 (Test and reject out-of-bounds shuffle vectors) - rust-lang#77190 (updated p! macro to accept literals) - rust-lang#77388 (Add some regression tests) - rust-lang#77419 (Create E0777 error code for invalid argument in derive) - rust-lang#77447 (BTreeMap: document DrainFilterInner better) - rust-lang#77468 (Fix test name) - rust-lang#77469 (Improve rustdoc error for failed intra-doc link resolution) - rust-lang#77473 (Make --all-targets in x.py check opt-in) - rust-lang#77508 (Fix capitalization in blog post name) Failed merges: r? `@ghost`
Fixes#73542.