| // 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 | |
| } |