aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/CodeGen/CodeGenFunction.cpp
diff options
context:
space:
mode:
authorjeanPerier <jperier@nvidia.com>2023-10-02 17:37:03 +0200
committerGitHub <noreply@github.com>2023-10-02 17:37:03 +0200
commitc0cb8f73b07eb96808f58489c8041203194c6c3b (patch)
treef18b0a510749a830e8021ae79201ac3d4ce152e2 /clang/lib/CodeGen/CodeGenFunction.cpp
parent0e8f924fc5d3ba920ae612bd9370be4af8a77fe7 (diff)
downloadllvm-c0cb8f73b07eb96808f58489c8041203194c6c3b.zip
llvm-c0cb8f73b07eb96808f58489c8041203194c6c3b.tar.gz
llvm-c0cb8f73b07eb96808f58489c8041203194c6c3b.tar.bz2
[flang] Fix character function call bug (#67973)
Fixes https://github.com/llvm/llvm-project/issues/67658 The bug was that when instantiating a character array result variable, the code inserted a cast from the result buffer to the proper array type if it could see an fir.unboxchar op. But this is wrong for results and on caller side because the fir.emboxchar is visible so, charHelper.genUnboxChar() just takes the operand from that instead of generating an unboxchar. The fix is simply to move the cast at the place where fir.boxchar<> argument are dealt with. The cast when creating fir.emboxchar is also removed: it adds noise and causes constant length result type to be lowered to fir.char<?>. The main change from this patch is to deal with the lit test fallout of this cast move and removal.
Diffstat (limited to 'clang/lib/CodeGen/CodeGenFunction.cpp')
0 files changed, 0 insertions, 0 deletions