1 // REQUIRES: asserts
2 // RUN: %clang_cc1 -O0 -triple %itanium_abi_triple -debug-info-kind=limited -S -emit-llvm %s -o - | \
3 // RUN: FileCheck %s
4 
5 // This test simply checks that the varargs thunk is created. The failing test
6 // case asserts.
7 
8 typedef signed char __int8_t;
9 typedef int BOOL;
10 class CMsgAgent;
11 
12 class CFs {
13 public:
14   typedef enum {} CACHE_HINT;
15   virtual BOOL ReqCacheHint( CMsgAgent* p_ma, CACHE_HINT hint, ... ) ;
16 };
17 
18 typedef struct {} _Lldiv_t;
19 
20 class CBdVfs {
21 public:
~CBdVfs()22   virtual ~CBdVfs( ) {}
23 };
24 
25 class CBdVfsImpl : public CBdVfs, public CFs {
26   BOOL ReqCacheHint( CMsgAgent* p_ma, CACHE_HINT hint, ... );
27 };
28 
ReqCacheHint(CMsgAgent * p_ma,CACHE_HINT hint,...)29 BOOL CBdVfsImpl::ReqCacheHint( CMsgAgent* p_ma, CACHE_HINT hint, ... ) {
30   return true;
31 }
32 
33 // CHECK: define {{.*}} @_ZThn{{[48]}}_N10CBdVfsImpl12ReqCacheHintEP9CMsgAgentN3CFs10CACHE_HINTEz(
34