1 // RUN: %clang_cc1 -emit-llvm -triple %itanium_abi_triple -o - %s | FileCheck %s 2 // pr6644 3 4 extern "C" { 5 namespace N { 6 struct X { 7 virtual void f(); 8 }; f()9 void X::f() { } 10 } 11 } 12 13 // CHECK-LABEL: define {{.*}}void @_ZN1N1X1fEv 14 15 extern "C" { test2_f()16 static void test2_f() { 17 } 18 // CHECK-LABEL: define internal {{.*}}void @_ZL7test2_fv test2_f(int x)19 static void test2_f(int x) { 20 } 21 // CHECK-LABEL: define internal {{.*}}void @_ZL7test2_fi test2_use()22 void test2_use() { 23 test2_f(); 24 test2_f(42); 25 } 26 } 27 28 extern "C" { 29 struct test3_s { 30 }; operator ==(const int & a,const test3_s & b)31 bool operator==(const int& a, const test3_s& b) { 32 } 33 } 34