aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/ext/attribute-may-alias-2.C
blob: d7e1fdfdd4a85c3f978777d27237277200b461f3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
// PR c++/53421

template< class T >
struct Y : T
{ } __attribute__((__may_alias__));

struct X
{
  operator Y<X>& ();
};

Y<X> y = Y<X>();
X::operator Y<X>& () { return *static_cast< Y<X>* >(this); }