aboutsummaryrefslogtreecommitdiff
path: root/flang/lib/Frontend/CompilerInvocation.cpp
diff options
context:
space:
mode:
authorPeter Klausler <pklausler@nvidia.com>2023-06-21 12:43:55 -0700
committerPeter Klausler <pklausler@nvidia.com>2023-06-22 07:05:51 -0700
commitfa459d988276bb88ab577dd7a38b42a85ac8db94 (patch)
tree849e8c0ea0cb9cee9af82b8a5ce36c3d8ecd0050 /flang/lib/Frontend/CompilerInvocation.cpp
parent73a0ae021ec6112911b98025055b8a2e881b1376 (diff)
downloadllvm-fa459d988276bb88ab577dd7a38b42a85ac8db94.zip
llvm-fa459d988276bb88ab577dd7a38b42a85ac8db94.tar.gz
llvm-fa459d988276bb88ab577dd7a38b42a85ac8db94.tar.bz2
[flang] Rewrite "1*j" to "(j)", not "j", when j is a variable
Expression folding currently unconditionally rewrites "1*j" to "j", which is wrong when "j" is a variable, as it transforms an expression into a variable and can lead to incorrect associations in contexts like an actual argument or an ASSOCIATE selector. Transform "1*j" to a parenthesized "(j)" when "j" is a variable. Fixes LLVM bug https://github.com/llvm/llvm-project/issues/63259. Differential Revision: https://reviews.llvm.org/D153457
Diffstat (limited to 'flang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions