summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/abi/mangle59.C
blob: ba0befddc50304b6d3e28530d0074e3e14d24f29 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// { dg-do compile { target c++11 } }
// { dg-options "-fabi-version=0" }

// { dg-final { scan-assembler "_Z1fIiEDTcmdlfp_psfp_EPT_" } }
template <class T> auto f (T* p) -> decltype(delete p, +p) { return p; }
// { dg-final { scan-assembler "_Z1gIiEDTcmgsdlfp_psfp_EPT_" } }
template <class T> auto g (T* p) -> decltype(::delete p, +p) { return p; }
// { dg-final { scan-assembler "_Z1hIiEDTcmdafp_psfp_EPT_" } }
template <class T> auto h (T* p) -> decltype(delete[] p, +p) { return p; }
// { dg-final { scan-assembler "_Z1iIiEDTcmgsdafp_psfp_EPT_" } }
template <class T> auto i (T* p) -> decltype(::delete[] p, +p) { return p; }

int main()
{
  int x;
  f(&x);
  g(&x);
  h(&x);
  i(&x);
}