Anders Carlsson | a552ea7 | 2010-01-31 01:43:37 +0000 | [diff] [blame^] | 1 | // RUN: %clang_cc1 %s -triple=x86_64-apple-darwin10 -emit-llvm -o - | FileCheck %s |
Anders Carlsson | 0ee33cf | 2009-09-12 16:16:49 +0000 | [diff] [blame] | 2 | struct A { |
3 | void f(); | ||||
4 | |||||
5 | int a; | ||||
6 | }; | ||||
7 | |||||
8 | struct B : A { | ||||
9 | double b; | ||||
10 | }; | ||||
11 | |||||
12 | void f() { | ||||
13 | B b; | ||||
14 | |||||
15 | b.f(); | ||||
16 | } | ||||
Anders Carlsson | a552ea7 | 2010-01-31 01:43:37 +0000 | [diff] [blame^] | 17 | |
18 | // CHECK: define %struct.B* @_Z1fP1A(%struct.A* %a) nounwind | ||||
19 | B *f(A *a) { | ||||
20 | // CHECK-NOT: br label | ||||
21 | // CHECK: ret %struct.B* | ||||
22 | return static_cast<B*>(a); | ||||
23 | } |