x86_32-arguments.cpp revision fb97cf24158aa7f1fd74374052f99733ef331bb9
1// RUN: %clang_cc1 -triple i386-unknown-unknown -emit-llvm -o - %s | FileCheck %s 2 3// Non-trivial dtors, should both be passed indirectly. 4struct S { 5 ~S(); 6 int s; 7}; 8 9// CHECK: define void @_Z1fv(%struct.S* sret % 10S f() { return S(); } 11// CHECK: define void @_Z1f1S(%struct.S*) 12void f(S) { } 13 14// Non-trivial dtors, should both be passed indirectly. 15class C { 16 ~C(); 17 double c; 18}; 19 20// CHECK: define void @_Z1gv(%class.C* sret % 21C g() { return C(); } 22 23// CHECK: define void @_Z1f1C(%class.C*) 24void f(C) { } 25