1 // RUN: %clang_cc1 -triple %itanium_abi_triple -emit-llvm %s -o -
2 // RUN: %clang_cc1 -triple %ms_abi_triple -fno-rtti -emit-llvm %s -o -
3 
4 
5 struct CallSite {
6   int X;
7 
8   CallSite(const CallSite &CS);
9 };
10 
11 struct AliasAnalysis {
12   int TD;
13 
14   virtual int getModRefInfo(CallSite CS);
15 };
16 
17 
18 struct Pass {
19   int X;
20   virtual int foo();
21 };
22 
23 struct AliasAnalysisCounter : public Pass, public AliasAnalysis {
24   int getModRefInfo(CallSite CS) {
25     return 0;
26   }
27 };
28 
29 AliasAnalysisCounter AAC;
30