| Daniel Dunbar | a572887 | 2009-12-15 20:14:24 +0000 | [diff] [blame] | 1 | // RUN: %clang_cc1 %s -emit-llvm -o - | FileCheck %s | 
| Anders Carlsson | b299d35 | 2009-10-06 17:54:23 +0000 | [diff] [blame] | 2 | |
| Anders Carlsson | b299d35 | 2009-10-06 17:54:23 +0000 | [diff] [blame] | 3 | // PR5021 | 
| 4 | struct A { | ||||
| 5 | virtual void f(char); | ||||
| 6 | }; | ||||
| 7 | |||||
| 8 | void f(A *a) { | ||||
| Anders Carlsson | 5db0247 | 2009-10-12 20:06:34 +0000 | [diff] [blame] | 9 | // CHECK: call void % | 
| Anders Carlsson | b299d35 | 2009-10-06 17:54:23 +0000 | [diff] [blame] | 10 | a->f('c'); | 
| 11 | } | ||||
| Anders Carlsson | 29f1a60 | 2009-12-19 02:13:41 +0000 | [diff] [blame^] | 12 | |
| 13 | struct B : virtual A { | ||||
| 14 | virtual void f(); | ||||
| 15 | }; | ||||
| 16 | |||||
| 17 | void f(B * b) { | ||||
| 18 | b->f(); | ||||
| 19 | } | ||||