// { dg-do compile { target c++11 } } // { dg-options "-fabi-version=0" } // { dg-final { scan-assembler "_Z1fIiEDTcmdlfp_psfp_EPT_" } } template auto f (T* p) -> decltype(delete p, +p) { return p; } // { dg-final { scan-assembler "_Z1gIiEDTcmgsdlfp_psfp_EPT_" } } template auto g (T* p) -> decltype(::delete p, +p) { return p; } // { dg-final { scan-assembler "_Z1hIiEDTcmdafp_psfp_EPT_" } } template auto h (T* p) -> decltype(delete[] p, +p) { return p; } // { dg-final { scan-assembler "_Z1iIiEDTcmgsdafp_psfp_EPT_" } } template auto i (T* p) -> decltype(::delete[] p, +p) { return p; } int main() { int x; f(&x); g(&x); h(&x); i(&x); }