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