diff options
-rw-r--r-- | clang/test/SemaCXX/friend3.cpp | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/clang/test/SemaCXX/friend3.cpp b/clang/test/SemaCXX/friend3.cpp new file mode 100644 index 00000000000..8b83ca78d40 --- /dev/null +++ b/clang/test/SemaCXX/friend3.cpp @@ -0,0 +1,27 @@ +// 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 +} |