Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/g++.dg/abi/mangle52.C @ 145:1830386684a0
gcc-9.2.0
author | anatofuz |
---|---|
date | Thu, 13 Feb 2020 11:34:05 +0900 |
parents | 04ced10e8804 |
children |
line wrap: on
line source
// { dg-options "-fabi-version=0 -Wabi=2" } template <unsigned int> struct helper {}; // { dg-final { scan-assembler "\n_?_Z6check1IiEvP6helperIXszscT_Li1EEE\[: \t\n\]" } } template <class T> void check1( helper<sizeof(static_cast<T>(1))> * ) { } // { dg-warning "mangle" } // { dg-final { scan-assembler "\n_?_Z6check2IiXadL_Z1iEEEvP6helperIXszccPT_T0_EE\[: \t\n\]" } } template <class T, T* p> void check2( helper<sizeof(const_cast<T*>(p))> * ) { } // { dg-warning "mangle" } // { dg-final { scan-assembler "\n_?_Z6check3IiEvP6helperIXszrcPT_Li0EEE\[: \t\n\]" } } template <class T> void check3( helper<sizeof(reinterpret_cast<T*>(0))> * ) { } // { dg-final { scan-assembler "\n_?_Z6check4I1AXadL_Z1aEEEvP6helperIXszdcPT_T0_EE\[: \t\n\]" } } template <class T, T* p> void check4( helper<sizeof(dynamic_cast<T*>(p))> * ) { } struct A{} a; int i; int main() { check1<int>(0); check2<int,&i>(0); check3<int>(0); check4<A,&a>(0); }