OSDN Git Service

PR c++/46124
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / g++.dg / torture / pr36444.C
1 /* { dg-do compile } */
2 /* { dg-options "-msse" { target { i?86-*-* x86_64-*-* } } } */
3 #define vector __attribute__((vector_size(16) ))
4 struct struct1  {
5   union {}    vmx;
6   struct struct2   {
7     struct2(const struct2& r) {}
8   } w;
9 } __attribute__((aligned(16)));
10 struct struct3  {
11   vector float vmx;
12   operator const struct1& () const{
13     return *reinterpret_cast<const struct1*>(this);
14   }
15 };
16 struct3 func3( struct3 V1);
17 struct3 func2( void );
18 void func1( )  {
19   struct1 vVec = func2() ;
20   func3 ( (struct3&)vVec );
21 }
22