mangle-subst.cpp revision 068f347772fee0cdf66614230d7dba69cd3fa2e6
1// RUN: clang-cc -emit-llvm %s -o - -triple=x86_64-apple-darwin9 | FileCheck %s
2
3struct X {};
4
5// CHECK: define void @_Z1f1XS_(
6void f(X, X) { }
7
8// CHECK: define void @_Z1fR1XS0_(
9void f(X&, X&) { }
10
11// CHECK: define void @_Z1fRK1XS1_(
12void f(const X&, const X&) { }
13
14typedef void T();
15struct S {};
16
17// CHECK: define void @_Z1fPFvvEM1SFvvE(
18void f(T*, T (S::*)) {}
19
20namespace A {
21  struct A { };
22  struct B { };
23};
24
25// CHECK: define void @_Z1fN1A1AENS_1BE(
26void f(A::A a, A::B b) { }
27