summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.old-deja/g++.brendan/union1.C
blob: ffc5555d75109b2c8af7c63cd0d01436d1c67e1a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// { dg-do run  }
// GROUPS passed unions
// This is fixed by finish_anon_union doing a string_cst_equal check on
// the DECL_SIZE of the decls, instead of comparing the DECL_SIZE nodes.

// The compiler currently fails to allocate space for the static union.

     unsigned
     hash(const double d)
     {
        static union {
           unsigned asint[2];
           double asdouble;
        };
        asdouble = d;
        return asint[0] ^ asint[1];
     }

int main ()
{
  hash (3.1415);
}