about summary refs log tree commit diff
path: root/compiler/rustc_llvm/llvm-wrapper/Linker.cpp
diff options
context:
space:
mode:
authorMatthias Krüger <matthias.krueger@famsik.de>2023-02-23 06:18:06 +0100
committerGitHub <noreply@github.com>2023-02-23 06:18:06 +0100
commita423fa7b4683e6d8cf3abaaaf1567fbaccfb266b (patch)
tree4a26c3f7bf5ed17963e55a6f98a2b8348302ea63 /compiler/rustc_llvm/llvm-wrapper/Linker.cpp
parentef27e438074252c2c36250dc0f54e89f7da4999d (diff)
parentefb468866e5757d404c220c812f52f8657b2fdce (diff)
downloadrust-a423fa7b4683e6d8cf3abaaaf1567fbaccfb266b.tar.gz
rust-a423fa7b4683e6d8cf3abaaaf1567fbaccfb266b.zip
Rollup merge of #108208 - cjgillot:flood-enum, r=oli-obk
Correctly handle aggregates in DataflowConstProp

The previous implementation from https://github.com/rust-lang/rust/pull/107411 flooded target of an aggregate assignment with `Bottom`, corresponding to the `deinit` that the interpreter does.

As a consequence, when assigning `target = Enum::Variant#i(...)` all the `(target as Variant#j)` were at `Bottom` while they should have been `Top`.

This PR replaces that flooding with `Top`.

Aside, it corrects a second bug where the wrong place would be used to assign to enum variant fields, resulting to nothing happening.

Fixes https://github.com/rust-lang/rust/issues/108166
Diffstat (limited to 'compiler/rustc_llvm/llvm-wrapper/Linker.cpp')
0 files changed, 0 insertions, 0 deletions