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