| // { dg-do assemble } | |
| // Origin: David Mazieres <dm@amsterdam.lcs.mit.edu> | |
| template<class T> struct vector_base { | |
| typedef T elm_t; | |
| protected: | |
| union { | |
| double alignment_hack; | |
| char defbuf_space[2 * sizeof (elm_t)]; | |
| }; | |
| elm_t *def_basep () { return reinterpret_cast<elm_t *> (defbuf_space); } | |
| }; | |
| template<class T> struct vector : public vector_base<T> { | |
| vector () { this->def_basep (); } | |
| }; | |
| vector<int> iv; |