aboutsummaryrefslogtreecommitdiff
path: root/clang/unittests/Format/FormatTestJava.cpp
diff options
context:
space:
mode:
authormartinboehme <mboehme@google.com>2024-01-12 09:20:58 +0100
committerGitHub <noreply@github.com>2024-01-12 09:20:58 +0100
commit537bbb4688b021c7eb7045ffd0d5f63087af83c3 (patch)
tree4f4625c6ef5bdf4a628b8410b0737d7f5c6ba0b8 /clang/unittests/Format/FormatTestJava.cpp
parentdabc9018ee856dee672fb1035fd3eb1bb39bd7a6 (diff)
downloadllvm-537bbb4688b021c7eb7045ffd0d5f63087af83c3.zip
llvm-537bbb4688b021c7eb7045ffd0d5f63087af83c3.tar.gz
llvm-537bbb4688b021c7eb7045ffd0d5f63087af83c3.tar.bz2
[clang][dataflow] Process terminator condition within `transferCFGBlock()`. (#77750)
In particular, it's important that we create the "fallback" atomic at this point (which we produce if the transfer function didn't produce a value for the expression) so that it is placed in the correct environment. Previously, we processed the terminator condition in the `TerminatorVisitor`, which put the fallback atomic in a copy of the environment that is produced as input for the _successor_ block, rather than the environment for the block containing the expression for which we produce the fallback atomic. As a result, we produce different fallback atomics every time we process the successor block, and hence we don't have a consistent representation of the terminator condition in the flow condition. This patch includes a test (authored by ymand@) that fails without the fix.
Diffstat (limited to 'clang/unittests/Format/FormatTestJava.cpp')
0 files changed, 0 insertions, 0 deletions