aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Frontend/CompilerInvocation.cpp
diff options
context:
space:
mode:
authorjeanPerier <jperier@nvidia.com>2023-10-27 10:33:57 +0200
committerGitHub <noreply@github.com>2023-10-27 10:33:57 +0200
commit0a10e88915167c88443dd58883e01d543963e40e (patch)
tree769bd04906680c0f787e5feb893fe1a7d35142fb /clang/lib/Frontend/CompilerInvocation.cpp
parentea1909f82ceca30b009701f1d349247f8fbf1c3e (diff)
downloadllvm-0a10e88915167c88443dd58883e01d543963e40e.zip
llvm-0a10e88915167c88443dd58883e01d543963e40e.tar.gz
llvm-0a10e88915167c88443dd58883e01d543963e40e.tar.bz2
[flang] Implement legacy %VAL and %REF actual arguments (#70343)
Update evaluate::ActualArgument to propagate the %VAL and %REF markers until lowering. Semantic checks are added to %VAL to ensure the argument is a numerical or logical scalar. I did not push these markers into the characteristics because other compilers do not complain about inconsistent usages (e.g. using %VAL in a call on a procedure with an interface without VALUE dummies is not flagged by any compilers I tested, and it is not an issue for lowering, so I decided to stay simple here and minimize the footprint of these legacy features). Lowering retrieves these markers and does the right thing: pass %VAL in registers and pass %REF by address without adding any extra arguments for characters.
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions