]> granicus.if.org Git - clang/commit
[mips] Zero-sized structs cannot be ignored in MipsABIInfo::classifyReturnType()...
authorDaniel Sanders <daniel.sanders@imgtec.com>
Thu, 4 Sep 2014 13:28:14 +0000 (13:28 +0000)
committerDaniel Sanders <daniel.sanders@imgtec.com>
Thu, 4 Sep 2014 13:28:14 +0000 (13:28 +0000)
commit3957ae834ef7abf820bf0b42ec5067ce95c491db
tree90029754bb04978e2031ee200538aae4e85927cd
parent454c2087b9422c4f45864cab7b535cd4daec1195
[mips] Zero-sized structs cannot be ignored in MipsABIInfo::classifyReturnType() for O32

Summary:
They are returned indirectly which causes the other arguments to move to
the next argument slot.

With this, utils/ABITest does not discover any failing cases in the first
500 attempts on big/little endian for O32. Previously some of these failed.
Also tested N32/N64 little endian (big endian has other known issues) with
no issues.

Reviewers: atanasyan

Reviewed By: atanasyan

Subscribers: atanasyan, cfe-commits

Differential Revision: http://reviews.llvm.org/D4811

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@217147 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/TargetInfo.cpp
test/CodeGen/mips-zero-sized-struct.c [new file with mode: 0644]