diff options
| author | Krzysztof Parzyszek <Krzysztof.Parzyszek@amd.com> | 2025-08-13 12:00:05 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-08-13 12:00:05 -0500 |
| commit | 7e125b9892f26d2028c3570f537e5a26f8c94447 (patch) | |
| tree | 6fdd0ac67fbb693a1777f245228a54b9f30c1ead /lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp | |
| parent | 3ecd331808abe0dae36436170df4468765900e0b (diff) | |
[flang][OpenMP] Reassociate ATOMIC update expressions (#153450)
An atomic update expression of form
x = x + a + b
is technically illegal, since the right-hand side is parsed as (x+a)+b,
and the atomic variable x should be an argument to the top-level +. When
the type of x is integer, the result of (x+a)+b is guaranteed to be the
same as x+(a+b), so instead of reporting an error, the compiler can
treat (x+a)+b as x+(a+b).
This PR implements this kind of reassociation for integral types, and
for the two arithmetic associative/commutative operators: + and *.
Reinstate PR153098 with fixes for the issues that came up:
- unused variable "lsrc",
- use of ‘outer1’ before deduction of ‘auto’.
Diffstat (limited to 'lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp')
0 files changed, 0 insertions, 0 deletions
