diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 459d5a25092..4303ca49c00 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2007-11-02 Eric Botcazou + + PR rtl-optimization/28062 + * gcc.c-torture/compile/20071102-1.c: New test. + 2007-11-01 Douglas Gregor * g++.dg/cpp0x/pr33955.C: New. diff --git a/gcc/testsuite/gcc.c-torture/compile/20071102-1.c b/gcc/testsuite/gcc.c-torture/compile/20071102-1.c new file mode 100644 index 00000000000..03b015628cd --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/compile/20071102-1.c @@ -0,0 +1,32 @@ +/* PR rtl-optimization/28062 */ +/* Original testcase by Martin Michlmayr */ +/* C testcase by Andrew Pinski */ + +struct _NSPoint +{ + float x; + float y; +}; + +typedef struct _NSPoint NSPoint; + +static inline NSPoint +NSMakePoint (float x, float y) +{ + NSPoint point; + point.x = x; + point.y = y; + return point; +} + +static inline NSPoint +RelativePoint (NSPoint point, NSPoint refPoint) +{ + return NSMakePoint (refPoint.x + point.x, refPoint.y + point.y); +} + +NSPoint g(NSPoint refPoint) +{ + float pointA, pointB; + return RelativePoint (NSMakePoint (0, pointA), refPoint); +}