From becd11a1d8fd608dd1394e6089e84db042bda719 Mon Sep 17 00:00:00 2001 From: Zdenek Dvorak Date: Sat, 13 May 2006 21:52:31 +0200 Subject: pr27003.c: New test. * gcc.dg/pr27003.c: New test. From-SVN: r113743 --- gcc/testsuite/ChangeLog | 4 ++++ gcc/testsuite/gcc.dg/pr27003.c | 31 +++++++++++++++++++++++++++++++ 2 files changed, 35 insertions(+) create mode 100644 gcc/testsuite/gcc.dg/pr27003.c (limited to 'gcc') diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index cad4c32..8fd6a10 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2006-05-13 Zdenek Dvorak + + * gcc.dg/pr27003.c: New test. + 2006-05-12 Steve Ellcey * lib/target-supports.dg (check_cxa_atexit_available): Change diff --git a/gcc/testsuite/gcc.dg/pr27003.c b/gcc/testsuite/gcc.dg/pr27003.c new file mode 100644 index 0000000..5e416f4 --- /dev/null +++ b/gcc/testsuite/gcc.dg/pr27003.c @@ -0,0 +1,31 @@ +/* { dg-do compile } */ +/* { dg-do run } */ +/* { dg-options "-Os" } */ + +unsigned int +foo (unsigned int x) +{ + unsigned int r = x; + while (--x) + r *= x; + return r; +} + +unsigned long long +bar (unsigned long long x) +{ + unsigned long long r = x; + while (--x) + r *= x; + return r; +} + +extern void abort (void); + +int +main (void) +{ + if (foo (5) != 120 || bar (5) != 120) + abort (); + return 0; +} -- cgit v1.1