diff options
author | John McCall <rjmccall@apple.com> | 2012-12-07 07:03:17 +0000 |
---|---|---|
committer | John McCall <rjmccall@apple.com> | 2012-12-07 07:03:17 +0000 |
commit | e56bb36e8eea89bae7dfe6eb6ea0455af126bf4a (patch) | |
tree | c6ac1420506da704a1f788684944e958214e818e /lib/CodeGen/CGCall.h | |
parent | 8fda1ab0fbfeac24489906d0bd6714c337f66e0f (diff) |
Fix the required args count for variadic blocks.
We were emitting calls to blocks as if all arguments were
required --- i.e. with signature (A,B,C,D,...) rather than
(A,B,...). This patch fixes that and accounts for the
implicit block-context argument as a required argument.
In addition, this patch changes the function type under which
we call unprototyped functions on platforms like x86-64 that
guarantee compatibility of variadic functions with unprototyped
function types; previously we would always call such functions
under the LLVM type T (...)*, but now we will call them under
the type T (A,B,C,D,...)*. This last change should have no
material effect except for making the type conventions more
explicit; it was a side-effect of the most convenient implementation.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169588 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/CGCall.h')
-rw-r--r-- | lib/CodeGen/CGCall.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/CodeGen/CGCall.h b/lib/CodeGen/CGCall.h index 4713db75cd..b0b136da5a 100644 --- a/lib/CodeGen/CGCall.h +++ b/lib/CodeGen/CGCall.h @@ -134,7 +134,7 @@ namespace CodeGen { } bool allowsOptionalArgs() const { return NumRequired != ~0U; } - bool getNumRequiredArgs() const { + unsigned getNumRequiredArgs() const { assert(allowsOptionalArgs()); return NumRequired; } |