x86_32-arguments.cpp [plain text]
struct S {
~S();
short s;
};
S f() { return S(); }
void f(S) { }
class C {
public:
~C();
double c;
};
C g() { return C(); }
void f(C) { }
struct CallSite {
unsigned Ptr;
CallSite(unsigned XX) : Ptr(XX) {}
};
struct AliasAnalysis {
virtual void xyz();
virtual void getModRefInfo(CallSite CS) = 0;
};
struct ModulePass {
virtual void xx();
};
struct BasicAliasAnalysis : public ModulePass, public AliasAnalysis {
void getModRefInfo(CallSite CS);
};
void BasicAliasAnalysis::getModRefInfo(CallSite CS) {
}
struct s0_0 { int x; };
struct s0_1 : s0_0 { int* y; };
s0_1 f0() { return s0_1(); }
struct s1_0 { int x; };
struct s1_1 : s1_0 { };
s1_1 f1() { return s1_1(); }
struct s2_0 { double x; };
struct s2_1 : s2_0 { };
s2_1 f2() { return s2_1(); }
struct s3_0 { };
struct s3_1 { double x; };
struct s3_2 : s3_0, s3_1 { };
s3_2 f3() { return s3_2(); }
struct s4_0 { float x; };
struct s4_1 { float x; };
struct s4_2 : s4_0, s4_1 { };
s4_2 f4() { return s4_2(); }
struct s5 { s5(); int &x; };
s5 f5() { return s5(); }
struct s6 {};
typedef int s6::* s6_mdp;
typedef int (s6::*s6_mfp)();
s6_mdp f6_0(s6_mdp a) { return a; }
s6_mfp f6_1(s6_mfp a) { return a; }
struct s7_0 { unsigned : 0; };
struct s7_1 { double x; };
struct s7 : s7_0, s7_1 { };
s7 f7() { return s7(); }
struct s8_0 { };
struct s8_1 { double x; };
struct s8 { s8_0 a; s8_1 b; };
s8 f8() { return s8(); }
struct s9_0 { unsigned : 0; };
struct s9_1 { double x; };
struct s9 { s9_0 a; s9_1 b; };
s9 f9() { return s9(); }