10ccb31c389a09216a5b60cf05bd01516ddbe8d4fGalina Kistanova// REQUIRES: x86-registered-target,x86-64-registered-target 2a5728872c7702ddd09537c95bc3cbd20e1f2fb09Daniel Dunbar// RUN: %clang_cc1 -triple x86_64-apple-darwin -S %s -o %t-64.s 34fcfde4d5c8f25e40720972a5543d538a0dcb220Daniel Dunbar// RUN: FileCheck -check-prefix LP64 --input-file=%t-64.s %s 4a5728872c7702ddd09537c95bc3cbd20e1f2fb09Daniel Dunbar// RUN: %clang_cc1 -triple i386-apple-darwin -S %s -o %t-32.s 54fcfde4d5c8f25e40720972a5543d538a0dcb220Daniel Dunbar// RUN: FileCheck -check-prefix LP32 --input-file=%t-32.s %s 648620bafe4ba879f96c2d17caefeb79f3fae2eeaFariborz Jahanian 748620bafe4ba879f96c2d17caefeb79f3fae2eeaFariborz Jahanian 848620bafe4ba879f96c2d17caefeb79f3fae2eeaFariborz Jahanianextern "C" int printf(...); 948620bafe4ba879f96c2d17caefeb79f3fae2eeaFariborz Jahanian 1048620bafe4ba879f96c2d17caefeb79f3fae2eeaFariborz Jahanianstruct obj{ int a; float b; double d; }; 1148620bafe4ba879f96c2d17caefeb79f3fae2eeaFariborz Jahanian 1248620bafe4ba879f96c2d17caefeb79f3fae2eeaFariborz Jahanianvoid foo(obj o) { 1348620bafe4ba879f96c2d17caefeb79f3fae2eeaFariborz Jahanian printf("%d %f %f\n", o.a, o.b, o.d); 1448620bafe4ba879f96c2d17caefeb79f3fae2eeaFariborz Jahanian} 1548620bafe4ba879f96c2d17caefeb79f3fae2eeaFariborz Jahanian 1648620bafe4ba879f96c2d17caefeb79f3fae2eeaFariborz Jahanianint main() { 1748620bafe4ba879f96c2d17caefeb79f3fae2eeaFariborz Jahanian obj o = obj(); 1848620bafe4ba879f96c2d17caefeb79f3fae2eeaFariborz Jahanian foo(obj()); 1948620bafe4ba879f96c2d17caefeb79f3fae2eeaFariborz Jahanian} 2048620bafe4ba879f96c2d17caefeb79f3fae2eeaFariborz Jahanian 213b29901b1d106789e04ce8c4cdfebe72b251db4bSean Callanan// CHECK-LP64: callq __Z3foo3obj 2248620bafe4ba879f96c2d17caefeb79f3fae2eeaFariborz Jahanian 23398e6b90f5e161d520a95cbf34c732a55fd3e476Chris Lattner// CHECK-LP32: calll __Z3foo3obj 24