blob: f647165bd6319d1fcd077c800592cc5b4b3dd9c8 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
/* { dg-do assemble } */
/* { dg-options "-mthumb -Os -save-temps" } */
/* { dg-require-effective-target arm_thumb2_ok } */
#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 } } */
/* { dg-final { object-size text <= 54 } } */
|