// { 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; |