1 // RUN: %clang_cc1 -S -triple %itanium_abi_triple -std=c++11 -emit-llvm %s -o - | FileCheck %s 2 3 namespace pr8852 { 4 void foo(); 5 struct S { foo()6 friend void foo() {} 7 }; 8 main()9void main() { 10 foo(); 11 } 12 // CHECK: define {{.*}} @_ZN6pr88523fooEv 13 } 14 15 namespace pr9518 { 16 template<typename T> 17 struct provide { f()18 friend T f() { return T(); } 19 }; 20 g()21void g() { 22 void f(); 23 provide<void> p; 24 f(); 25 } 26 // CHECK: define {{.*}} @_ZN6pr95181fEv 27 } 28