llvm-project/clang/test/CodeGenCXX/x86_32-arguments.cpp

25 lines
528 B
C++

// RUN: %clang_cc1 -triple i386-unknown-unknown -emit-llvm -o - %s | FileCheck %s
// Non-trivial dtors, should both be passed indirectly.
struct S {
~S();
int s;
};
// CHECK: define void @_Z1fv(%struct.S* noalias sret %
S f() { return S(); }
// CHECK: define void @_Z1f1S(%struct.S*)
void f(S) { }
// Non-trivial dtors, should both be passed indirectly.
class C {
~C();
double c;
};
// CHECK: define void @_Z1gv(%class.C* noalias sret %
C g() { return C(); }
// CHECK: define void @_Z1f1C(%class.C*)
void f(C) { }