about summary refs log tree commit diff
path: root/compiler/rustc_llvm/llvm-wrapper/SymbolWrapper.cpp
diff options
context:
space:
mode:
authorTomasz Miąsko <tomasz.miasko@gmail.com>2025-04-27 07:37:27 +0200
committerTomasz Miąsko <tomasz.miasko@gmail.com>2025-04-29 20:42:43 +0200
commit88a86794b9e5bcda28b8f89e6b6264bb7bc042c4 (patch)
tree62ee1e8eedfb01ce5eecd742b10c81ae428ac95e /compiler/rustc_llvm/llvm-wrapper/SymbolWrapper.cpp
parent21079f53a359d9fc82668d4175d49dafdb600563 (diff)
downloadrust-88a86794b9e5bcda28b8f89e6b6264bb7bc042c4.tar.gz
rust-88a86794b9e5bcda28b8f89e6b6264bb7bc042c4.zip
transmutability: uninit transition matches unit byte only
The previous implementation was inconsistent about transitions that
apply for an init byte. For example, when answering a query, an init
byte could use corresponding init transition. Init byte could also use
uninit transition, but only when the corresponding init transition was
absent. This behaviour was incompatible with DFA union construction.

Define an uninit transition to match an uninit byte only and update
implementation accordingly. To describe that `Tree::uninit` is valid
for any value, build an automaton that accepts any byte value.

Additionally, represent byte ranges uniformly as a pair of integers to
avoid special case for uninit byte.
Diffstat (limited to 'compiler/rustc_llvm/llvm-wrapper/SymbolWrapper.cpp')
0 files changed, 0 insertions, 0 deletions