diff options
author | bors[bot] <26634292+bors[bot]@users.noreply.github.com> | 2022-04-28 14:19:07 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-04-28 14:19:07 +0000 |
commit | 83e13db1fa12d3ff8751a293595cbf01fd1ac236 (patch) | |
tree | 7ac4415a617592db114100fe78b9702df9eb37a8 /gcc/rust/backend/rust-compile-expr.cc | |
parent | 9cf744cbd762442ab33b3f92067829883d7d2d73 (diff) | |
parent | bbf171c9d25becdf77087a9e7d2b9e4bde030e80 (diff) | |
parent | 7fe6bc1ba1a8d296262e1e06ac067190c8ab3ebb (diff) | |
parent | ae085ac7b12809cadaf6bfdb18c34f1a177290c1 (diff) | |
download | gcc-83e13db1fa12d3ff8751a293595cbf01fd1ac236.zip gcc-83e13db1fa12d3ff8751a293595cbf01fd1ac236.tar.gz gcc-83e13db1fa12d3ff8751a293595cbf01fd1ac236.tar.bz2 |
Merge #1190 #1192 #1193
1190: Fix ICE in reachability class and refactor associated types code r=philberty a=philberty
There are several fixes going on to solve these issues which overlap with one
another so it seemed best to pack them within the same PR.
The main issue for #1128 was that we did not resolve a trait when it was unused
leading to us hitting the ICE in the privacy pass. Since the type check context was
empty for the trait since it was not resolved. To fix this we needed to refactor the
trait resolver to resolve the trait as part of iterating the crate. This resulted in some
regressions in the testsuite so this is why we need the the other commits. Which
required us to finally perform the refactor specified in #1105 to fix these.
Fixes #1105 #1128 #1132
1192: Add an assertion to avoid peeking when the stack is empty r=philberty a=philberty
This will ensure we get a proper ICE instead of memory corruption/segv.
Addresses #1130
1193: Remove unused parameter caller from generating Call expressions r=philberty a=philberty
Within const context the fncontext maybe empty which in turn results in a
segv for generating const calls which will be evaluated by the const-expr
code anyway.
Addresses #1130
Co-authored-by: Philip Herron <philip.herron@embecosm.com>