1 // RUN: %clang_cc1 %s -triple armv7-none-eabi -emit-llvm -o - | FileCheck %s
5 virtual void f_const() const;
12 void f(A a, A *ap, A& ar) {
13 // This should not be a virtual function call.
15 // CHECK: call void @_ZN1A1fEv(%struct.A* %a)
24 // CHECK: call void @_ZN1A1fEv
27 // CHECK: call void @_ZN1A1fEv
30 // CHECK: call void @_ZN1A1fEv
33 // CHECK: call void @_ZNK1A7f_constEv
36 // CHECK: call void @_ZN1A1fEv
49 // CHECK: call void @_ZN1B1fEv
52 // CHECK: call void @_ZN1B1fEv
62 struct bar : public foo {
68 // CHECK: call void @_ZN5test23foo1fEv
69 // CHECK: call %"struct.test2::foo"* @_ZN5test23fooD1Ev
76 // Test that we don't crash in this case.
82 // CHECK-LABEL: define void @_ZN5test31fENS_1DE
91 struct Fish : Animal {
99 // CHECK: call void @_ZN5test44Fish3eatEv