Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/g++.dg/abi/nvptx-ptrmem1.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-do compile { target nvptx-*-* } } // { dg-additional-options "-m64" } // ptr to member data is like sizeof. // ptr to member fn is like a struct. struct A{}; typedef int A::*pmd; typedef void (A::*pmf) (); // { dg-final { scan-assembler ".extern .func \\(.param.u64 %out_retval\\) _Z8dcl_rpmdv;" } } pmd dcl_rpmd (); // { dg-final { scan-assembler ".extern .func _Z8dcl_rpmfv \\(.param.u64 %in_ar0\\);" } } pmf dcl_rpmf (); // { dg-final { scan-assembler ".extern .func _Z8dcl_apmdM1Ai \\(.param.u64 %in_ar0\\);" } } void dcl_apmd (pmd); // { dg-final { scan-assembler ".extern .func _Z8dcl_apmfM1AFvvE \\(.param.u64 %in_ar0\\);" } } void dcl_apmf (pmf); void test_1 () { dcl_rpmd (); dcl_rpmf (); dcl_apmd (0); dcl_apmf (0); } // { dg-final { scan-assembler-times ".visible .func \\(.param.u64 %out_retval\\) _Z8dfn_rpmdv(?:;|\[\r\n\]+\{)" 2 } } pmd dfn_rpmd () { return 0; } // { dg-final { scan-assembler-times ".visible .func _Z8dfn_rpmfv \\(.param.u64 %in_ar0\\)(?:;|\[\r\n\]+\{)" 2 } } pmf dfn_rpmf () { return 0; } // { dg-final { scan-assembler-times ".visible .func _Z8dfn_apmdM1Ai \\(.param.u64 %in_ar0\\)(?:;|\[\r\n\]+\{)" 2 } } void dfn_apmd (pmd) { } // { dg-final { scan-assembler-times ".visible .func _Z8dfn_apmfM1AFvvE \\(.param.u64 %in_ar0\\)(?:;|\[\r\n\]+\{)" 2 } } void dfn_apmf (pmf) { }