summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/init/value4.C
blob: fa7a02cc7c60c6cd00cc52939bdeb5e197948a5c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
// PR c++/38233

template<class _T1, class _T2>
  struct pair
  {
    _T1 first;
    _T2 second;

    // _GLIBCXX_RESOLVE_LIB_DEFECTS
    // 265.  std::pair::pair() effects overly restrictive
    /** The default constructor creates @c first and @c second using their
     *  respective default constructors.  */
    pair()
    : first(), second() { }
};

class a {
 public:
  a();
};

class b {
 public:
  // implicit default ctor
  bool operator<(const b& rhs) const;

 private:
  a a_val;
};

typedef pair<const b, int> my_pair;

void func() {
  my_pair x;
}