// RUN: %clang_cc1 -emit-llvm -triple %itanium_abi_triple -o - %s | FileCheck %s
// pr6644

extern "C" {
  namespace N {
    struct X { 
      virtual void f();
    };
    void X::f() { }
  }
}

// CHECK-LABEL: define {{.*}}void @_ZN1N1X1fEv

extern "C" {
  static void test2_f() {
  }
  // CHECK-LABEL: define internal {{.*}}void @_ZL7test2_fv
  static void test2_f(int x) {
  }
  // CHECK-LABEL: define internal {{.*}}void @_ZL7test2_fi
  void test2_use() {
    test2_f();
    test2_f(42);
  }
}

extern "C" {
  struct test3_s {
  };
  bool operator==(const int& a, const test3_s& b)  {
  }
}
