aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/g++.dg/ubsan/pr59437.C
blob: 0e77ccde46ea70af37d641306856502a0a3585df (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
// { dg-do compile }
// { dg-options "-fsanitize=null -fvtable-verify=std" }
// { dg-skip-if "" { *-*-* } { "-flto" } { "" } }

template < typename T > struct A
{
  T foo ();
};
template < typename T > struct C: virtual public A < T >
{
  C & operator<< (C & (C &));
};
template < typename T >
C < T > &endl (C < int > &c)
{
  c.foo ();
  return c;
}
C < int > cout;
void
fn ()
{
  cout << endl;
}