xref: /aosp_15_r20/external/clang/test/Modules/Inputs/cxx-irgen-left.h (revision 67e74705e28f6214e480b399dd47ea732279e315)
1*67e74705SXin Li #include "cxx-irgen-top.h"
2*67e74705SXin Li 
3*67e74705SXin Li S<int> s;
4*67e74705SXin Li 
instantiate_min()5*67e74705SXin Li inline int instantiate_min() {
6*67e74705SXin Li   return min(1, 2);
7*67e74705SXin Li }
8*67e74705SXin Li 
9*67e74705SXin Li inline int instantiate_CtorInit(CtorInit<int> i = CtorInit<int>()) {
10*67e74705SXin Li   return i.a;
11*67e74705SXin Li }
12*67e74705SXin Li 
13*67e74705SXin Li namespace ImplicitSpecialMembers {
create_left()14*67e74705SXin Li   inline void create_left() {
15*67e74705SXin Li     // Trigger declaration, but not definition, of special members.
16*67e74705SXin Li     B b(0); C c(0); D d(0);
17*67e74705SXin Li     // Trigger definition of copy constructor.
18*67e74705SXin Li     C c2(c); D d2(d);
19*67e74705SXin Li   }
20*67e74705SXin Li }
21*67e74705SXin Li 
22*67e74705SXin Li namespace OperatorDeleteLookup {
23*67e74705SXin Li   // Trigger definition of A::~A() and lookup of operator delete.
24*67e74705SXin Li   // Likewise for B<int>::~B().
f()25*67e74705SXin Li   inline void f() { A a; B<int> b; }
26*67e74705SXin Li }
27