summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/init/pmf1.C
blob: 93c67bdd70673bc241137f3ebc828eac1faf3d65 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// PR c++/14089
// { dg-do compile }
//
// C++ front end generated assignment between types that were not
// compatible in any sense visible to the optimizers.

struct pair {
    typedef void (pair::*fp)();
    int first;
    pair::fp second;
    pair(const int& a, const pair::fp& b) : first(a), second(b) {}
    void f(const int& a, const pair::fp& b) { first = a; second = b; }
};

void op() {
    pair(5, pair::fp());
}