about summary refs log tree commit diff
path: root/compiler/rustc_interface/src
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2022-07-09 17:16:00 +0000
committerbors <bors@rust-lang.org>2022-07-09 17:16:00 +0000
commitf893495e3da91dc319d37861b803eed9d6c8c7c7 (patch)
treec6d89a3df967969c4505c35c705545ae64be3807 /compiler/rustc_interface/src
parent6c20ab744b0f82646d90ce9d25894823abc9c669 (diff)
parent4e7aaf1f448dd9808a94e98dffe4c1176c388e0d (diff)
downloadrust-f893495e3da91dc319d37861b803eed9d6c8c7c7.tar.gz
rust-f893495e3da91dc319d37861b803eed9d6c8c7c7.zip
Auto merge of #98957 - RalfJung:zst-are-different, r=lcnr,oli-obk
 don't allow ZST in ScalarInt

There are several indications that we should not ZST as a ScalarInt:
- We had two ways to have ZST valtrees, either an empty `Branch` or a `Leaf` with a ZST in it.
  `ValTree::zst()` used the former, but the latter could possibly arise as well.
- Likewise, the interpreter had `Immediate::Uninit` and `Immediate::Scalar(Scalar::ZST)`.
- LLVM codegen already had to special-case ZST ScalarInt.

So I propose we stop using ScalarInt to represent ZST (which are clearly not integers). Instead, we can add new ZST variants to those types that did not have other variants which could be used for this purpose.

Based on https://github.com/rust-lang/rust/pull/98831. Only the commits starting from "don't allow ZST in ScalarInt" are new.

r? `@oli-obk`
Diffstat (limited to 'compiler/rustc_interface/src')
0 files changed, 0 insertions, 0 deletions