Mercurial > hg > CbC > CbC_gcc
annotate gcc/testsuite/g++.dg/opt/ptrmem3.C @ 131:84e7813d76e9
gcc-8.2
author | mir3636 |
---|---|
date | Thu, 25 Oct 2018 07:37:49 +0900 |
parents | 04ced10e8804 |
children |
rev | line source |
---|---|
111 | 1 // { dg-options "-O1" } |
2 | |
3 #include <stdio.h> | |
4 struct A { | |
5 A(int arg) : ia(arg) {} | |
6 int x,y,z,ia; | |
7 int mf(int arg) { return arg + ia; } | |
8 }; | |
9 int func(int A::*pdm, int (A::*pmf)(int)) // 2. regular function | |
10 { | |
11 A oa(2); | |
12 return ((&oa)->*pdm) + (oa.*pmf)(2); | |
13 } | |
14 int main() | |
15 { | |
16 int val; | |
17 | |
18 int A::*pda = &A::ia; | |
19 int (A::*pmfa)(int) = &A::mf; | |
20 val = func( pda, pmfa ); | |
21 if(val != 6) | |
22 printf("val=%d, expect 6 \n", val); | |
23 } |