Relax assertion in x86_64 byval argument handling for 32-bit pointers
authorDerek Schuff <dschuff@google.com>
Wed, 24 Jun 2015 22:36:36 +0000 (22:36 +0000)
committerDerek Schuff <dschuff@google.com>
Wed, 24 Jun 2015 22:36:36 +0000 (22:36 +0000)
commit3c6a48d1193e4745f36db9ce7faf859a8cc407ad
tree56050154159d748899687b05c9ed59cff0a7b199
parent817ac8f40a077ff20b98164c569c4063e103d215
Relax assertion in x86_64 byval argument handling for 32-bit pointers

Summary:
Byval argument pair formation assumes that if a type is less than 8 bytes
it must be an integer and not a pointer, which is not true for x32 and NaCl.

Relax the assertion and add a test for a codegen case that triggered it.

Reviewers: jvoung

Subscribers: jfb, cfe-commits

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

llvm-svn: 240600
clang/lib/CodeGen/TargetInfo.cpp
clang/test/CodeGenCXX/x86_64-arguments-nacl-x32.cpp