| Submitter | Tom de Vries |
|---|---|
| Date | April 1, 2011, 2:56 p.m. |
| Message ID | <4D95E78A.2020909@codesourcery.com> |
| Download | mbox | patch |
| Permalink | /patch/89277/ |
| State | New |
| Headers | show |
Comments
On Fri, Apr 01, 2011 at 04:56:10PM +0200, Tom de Vries wrote: > Reposting, with ChangeLog. > 2011-04-01 Tom de Vries <tom@codesourcery.com> > > PR target/43920 > * testsuite/gcc.target/arm/pr43920-2.c: New test. gcc/testsuite/ has its own ChangeLog, so the ChangeLog entry should say just * gcc.target/arm/pr43920-2.c: New test. Similarly one of your patches had * gcc/cfgcleanup.c (whatever): Whatever. in the ChangeLog, should be just * cfgcleanup.c (whatever): Whatever. Jakub
Patch
2011-04-01 Tom de Vries <tom@codesourcery.com> PR target/43920 * testsuite/gcc.target/arm/pr43920-2.c: New test. Index: gcc/testsuite/gcc.target/arm/pr43920-2.c =================================================================== --- gcc/testsuite/gcc.target/arm/pr43920-2.c (revision 0) +++ gcc/testsuite/gcc.target/arm/pr43920-2.c (revision 0) @@ -0,0 +1,28 @@ +/* { dg-do compile } */ +/* { dg-options "-march=armv7-a -mthumb -Os" } */ + +#include <stdio.h> + +int getFileStartAndLength (int fd, int *start_, size_t *length_) +{ + int start, end; + size_t length; + + start = lseek (fd, 0L, SEEK_CUR); + end = lseek (fd, 0L, SEEK_END); + + if (start == -1 || end == -1) + return -1; + + length = end - start; + if (length == 0) + return -1; + + *start_ = start; + *length_ = length; + + return 0; +} + +/* { dg-final { scan-assembler-times "pop" 2 } } */ +/* { dg-final { scan-assembler-times "beq" 3 } } */