diff options
author | Daniel Dunbar <daniel@zuster.org> | 2009-09-14 21:54:03 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2009-09-14 21:54:03 +0000 |
commit | 420255710694e958fa04bed1d80d96508949879e (patch) | |
tree | 0e30ff1c09449cef302edf1989e3e6d95f6ac1f3 /lib/CodeGen/TargetABIInfo.cpp | |
parent | c313e11e2c224fe1caa46bbb85f7b5e2be3c83ef (diff) |
ARM/[A]APCS: Ignore empty records passed as arguments.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81798 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/TargetABIInfo.cpp')
-rw-r--r-- | lib/CodeGen/TargetABIInfo.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/CodeGen/TargetABIInfo.cpp b/lib/CodeGen/TargetABIInfo.cpp index c403960580..ebc3ecbd5c 100644 --- a/lib/CodeGen/TargetABIInfo.cpp +++ b/lib/CodeGen/TargetABIInfo.cpp @@ -1395,6 +1395,10 @@ ABIArgInfo ARMABIInfo::classifyArgumentType(QualType Ty, return (Ty->isPromotableIntegerType() ? ABIArgInfo::getExtend() : ABIArgInfo::getDirect()); + // Ignore empty records. + if (isEmptyRecord(Context, Ty, true)) + return ABIArgInfo::getIgnore(); + // FIXME: This is kind of nasty... but there isn't much choice because the ARM // backend doesn't support byval. // FIXME: This doesn't handle alignment > 64 bits. |