// { dg-do assemble } #include template < class T > class X { protected: union { int x; double y; }; }; template < class T > class Y : public X { public: using X::x; void f () { std::cout << this->x << std::endl; } };