aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/abi/mangle50.C
blob: 68abc9dad26a74d56fa96c6418a5ba7064f0b0b3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// DR 342, PR c++/48582
// { dg-do compile { target c++11 } }
// { dg-additional-options -fabi-compat-version=0 }

struct A;
template < void * = nullptr > void f() { }
template < void (A::*)() = nullptr > void g() { }
template < int A::* = nullptr > void h() { }

int main()
{
  // { dg-final { scan-assembler "_Z1fILPv0EEvv" } }
  f();
  f<nullptr>();

  // { dg-final { scan-assembler "_Z1gILM1AFvvE0EEvv" } }
  g();
  g<nullptr>();

  // { dg-final { scan-assembler "_Z1fILPv0EEvv" } }
  h();
  h<nullptr>();

  constexpr void * ptr = nullptr;
  f<ptr>();
}