]> granicus.if.org Git - clang/commit
[CodeGen] Fix ExtParameterInfo bugs in C++ CodeGen code.
authorGeorge Burgess IV <george.burgess.iv@gmail.com>
Thu, 23 Feb 2017 22:07:35 +0000 (22:07 +0000)
committerGeorge Burgess IV <george.burgess.iv@gmail.com>
Thu, 23 Feb 2017 22:07:35 +0000 (22:07 +0000)
commit2acaa49f61e4e22c068afa10ec36430dfdbd9e05
tree31303eebd7d2adad54a0f9ecc7cf5c852581853a
parenta793abf092342591219538bb1cb64060a26f60c0
[CodeGen] Fix ExtParameterInfo bugs in C++ CodeGen code.

This patch makes use of the prefix/suffix ABI argument distinction that
was introduced in r295870, so that we now emit ExtParameterInfo at the
correct offset for member calls that have added ABI arguments. I don't
see a good way to test the generated param info, since we don't actually
seem to use it in CGFunctionInfo outside of Swift. Any
suggestions/thoughts for how to better test this are welcome. :)

This patch also fixes a small bug with inheriting constructors: if we
decide not to pass args into an base class ctor, we would still
generate ExtParameterInfo as though we did. The added test-case is for
that behavior.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@296024 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/CGCall.cpp
lib/CodeGen/CGClass.cpp
lib/CodeGen/CGExprCXX.cpp
lib/CodeGen/CGVTables.cpp
lib/CodeGen/CodeGenTypes.h
lib/CodeGen/MicrosoftCXXABI.cpp
test/CodeGenObjCXX/arc-attrs-abi.mm