diff options
author | Janis Johnson <janis187@us.ibm.com> | 2005-07-21 22:00:27 +0000 |
---|---|---|
committer | Janis Johnson <janis@gcc.gnu.org> | 2005-07-21 22:00:27 +0000 |
commit | 58669148c9e700f02dcc9b489c21429375962755 (patch) | |
tree | 5c483b847e7847abe863678778f6e5bc29381680 /gcc | |
parent | de343c8d7f9b77f72380a632a2b7ad2caefcf665 (diff) | |
download | gcc-58669148c9e700f02dcc9b489c21429375962755.zip gcc-58669148c9e700f02dcc9b489c21429375962755.tar.gz gcc-58669148c9e700f02dcc9b489c21429375962755.tar.bz2 |
* gcc.c-torture/compile/20050721-1.c: New test for 3.4 fix.
From-SVN: r102252
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/testsuite/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/testsuite/gcc.c-torture/compile/20050721-1.c | 57 |
2 files changed, 61 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index f5497d1..7f7b133 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2005-07-21 Janis Johnson <janis187@us.ibm.com> + + * gcc.c-torture/compile/20050721-1.c: New test for 3.4 fix. + 2005-07-21 Andrew Pinski <pinskia@physics.uc.edu> PR middle-end/19055 diff --git a/gcc/testsuite/gcc.c-torture/compile/20050721-1.c b/gcc/testsuite/gcc.c-torture/compile/20050721-1.c new file mode 100644 index 0000000..25a781d --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/compile/20050721-1.c @@ -0,0 +1,57 @@ +/* Test for PR target/20191. */ + +struct S1; + +struct S1 { + struct S1 *next; + float x; +}; + +struct S2 { + float y; +}; + +extern int func_ex1 (float); + +extern int f; +extern float n; +extern struct S1 *bp1; +extern struct S2 *bp2; + +inline float +func1 (int f, struct S2 *p2) +{ + float a; + + if (f) + a = n >= p2->y ? n : p2->y; + else + a = n; + return a; +} + +inline float +func2 (struct S1 *p1, struct S2 *p2) +{ + float a, b; + + if(n <= 1.0) + b = func1 (f, p2); + else + { + a = n <= p1->x ? 0.0 : p1->x; + b = a >= p2->y ? a : p2->y; + } + return(b); +} + +void +func3 (struct S1 *p) +{ + float a = 0.0; + + if (f) + a = func2 (bp1, bp2); + if (func_ex1 (a)) + bp1 = p; +} |