forwprop-6.c: Use long or int to match size of float.
* gcc.dg/tree-ssa/forwprop-6.c: Use long or int to match size of float. Otherwise error. * gcc.dg/tree-ssa/ssa-fre-7.c: Ditto. * gcc.dg/tree-ssa/ssa-fre-8.c: Ditto. From-SVN: r136923
This commit is contained in:
parent
5d597439cb
commit
458426d934
@ -1,3 +1,10 @@
|
||||
2008-06-18 Andy Hutchinson <hutchinsonandy@aim.com>
|
||||
|
||||
* gcc.dg/tree-ssa/forwprop-6.c: Use long or int to match size of
|
||||
float. Otherwise error.
|
||||
* gcc.dg/tree-ssa/ssa-fre-7.c: Ditto.
|
||||
* gcc.dg/tree-ssa/ssa-fre-8.c: Ditto.
|
||||
|
||||
2008-06-18 Andy Hutchinson <hutchinsonandy@aim.com>
|
||||
|
||||
* gcc.c-torture/execute/20020619-1.c: Correct for targets
|
||||
|
@ -1,13 +1,19 @@
|
||||
/* { dg-do compile } */
|
||||
/* { dg-options "-O2 -fdump-tree-forwprop1 -W -Wall" } */
|
||||
#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
|
||||
|
||||
|
||||
int b;
|
||||
intflt b;
|
||||
void f(void)
|
||||
{
|
||||
float a;
|
||||
a = 1;
|
||||
b = *(int*)&a; /* { dg-warning "aliasing" } */
|
||||
b = *(intflt*)&a; /* { dg-warning "aliasing" } */
|
||||
}
|
||||
|
||||
/* We should be able to convert the cast to a VCE in forwprop1,
|
||||
|
@ -1,16 +1,23 @@
|
||||
/* { dg-do compile } */
|
||||
/* { dg-options "-O -fdump-tree-fre-details -fdump-tree-optimized" } */
|
||||
#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
|
||||
|
||||
struct X {
|
||||
int i;
|
||||
union {
|
||||
int j;
|
||||
int k;
|
||||
intflt j;
|
||||
intflt k;
|
||||
float f;
|
||||
} u;
|
||||
};
|
||||
|
||||
int foo(int j)
|
||||
intflt foo(intflt j)
|
||||
{
|
||||
struct X a;
|
||||
|
||||
|
@ -1,11 +1,17 @@
|
||||
/* { 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)
|
||||
|
Loading…
Reference in New Issue
Block a user