xref: /aosp_15_r20/external/clang/test/CodeGenCXX/vararg-non-pod.cpp (revision 67e74705e28f6214e480b399dd47ea732279e315)
1*67e74705SXin Li // RUN: %clang_cc1 -Wno-error=non-pod-varargs -triple %itanium_abi_triple -emit-llvm -o - %s | FileCheck %s
2*67e74705SXin Li 
3*67e74705SXin Li struct X {
4*67e74705SXin Li   X();
5*67e74705SXin Li   X(const X&);
6*67e74705SXin Li   ~X();
7*67e74705SXin Li };
8*67e74705SXin Li 
9*67e74705SXin Li void vararg(...);
10*67e74705SXin Li 
11*67e74705SXin Li // CHECK-LABEL: define {{.*}}void @_Z4test1X
test(X x)12*67e74705SXin Li void test(X x) {
13*67e74705SXin Li   // CHECK: call void @llvm.trap()
14*67e74705SXin Li   vararg(x);
15*67e74705SXin Li   // CHECK: ret void
16*67e74705SXin Li }
17