/* { dg-do compile } */
/* { dg-options "-O -fdump-tree-fre-details" } */
-
+#if (__SIZEOF_INT__ == __SIZEOF_FLOAT__)
+typedef int intflt;
+#elif (__SIZEOF_LONG__ == __SIZEOF_FLOAT__)
+typedef long intflt;
+#else
+#error Add target support here for type that will union float size
+#endif
union U {
- int i;
+ intflt i;
float f;
};
-int foo(int i, int b)
+intflt foo(int i, int b)
{
union U u;
if (b)