// RUN: %clang_cc1 -S -triple %itanium_abi_triple -std=c++11 -emit-llvm %s -o - | FileCheck %s namespace pr8852 { void foo(); struct S { friend void foo() {} }; void main() { foo(); } // CHECK: define {{.*}} @_ZN6pr88523fooEv } namespace pr9518 { template<typename T> struct provide { friend T f() { return T(); } }; void g() { void f(); provide<void> p; f(); } // CHECK: define {{.*}} @_ZN6pr95181fEv }