diff options
author | Timm Bäder <tbaeder@redhat.com> | 2024-02-14 15:29:47 +0100 |
---|---|---|
committer | Timm Bäder <tbaeder@redhat.com> | 2024-02-15 05:59:53 +0100 |
commit | d53515afef57a3abf84daff169fbc7626a306817 (patch) | |
tree | 8c131ab02e4518a52edf413e08378d29321d845c /clang/lib/CodeGen/ModuleBuilder.cpp | |
parent | bfe302c58321abd79a5db7e805ef4b4db24df820 (diff) | |
download | llvm-d53515afef57a3abf84daff169fbc7626a306817.zip llvm-d53515afef57a3abf84daff169fbc7626a306817.tar.gz llvm-d53515afef57a3abf84daff169fbc7626a306817.tar.bz2 |
[clang][Interp] Fix variadic member functions
For variadic member functions, the way we calculated the instance
pointer and RVO pointer offsts on the stack was incorrect, due
to Func->getArgSize() not returning the full size of all the
passed arguments. When calling variadic functions, we need
to pass the size of the passed (variadic) arguments to the Call*
ops, so they can use that information to properly check the
instance pointer, etc.
This patch adds a bit of code duplication in Interp.h, which I
will get rid of in later cleanup NFC patches.
Diffstat (limited to 'clang/lib/CodeGen/ModuleBuilder.cpp')
0 files changed, 0 insertions, 0 deletions