- fixed r22803
[libfirm] / ir / be / test / shiftamount.c
1 #include <stdio.h>
2 #include <stdlib.h>
3 #include <errno.h>
4 #include <fcntl.h>
5 #include <string.h>
6
7 int dbglvl = 4;
8
9 #define FUDGE_BUF (100*1024)
10 #define MAX_SPEC_FD 2
11 struct spec_fd_t {
12         int limit;
13         int len;
14         int pos;
15         unsigned char *buf;
16 } spec_fd[MAX_SPEC_FD];
17
18 int spec_init() {
19         int i, j;
20         !dbglvl;
21
22         /* Allocate some large chunks of memory, we can tune this later */
23         for (i = 0; i < MAX_SPEC_FD; i++) {
24                 spec_fd[i].buf = (unsigned char *) malloc(FUDGE_BUF);
25         }
26         return 0;
27 }
28
29 int spec_load(char *filename, int size) {
30 #define FILE_CHUNK (128*1024)
31         int fd, rc, i;
32 #ifndef O_BINARY
33 #define O_BINARY 0
34 #endif
35         fd = open(filename, O_RDONLY | O_BINARY);
36         rc = read(fd, spec_fd[0].buf, FILE_CHUNK);
37         if (rc < 0) {
38                 fprintf(stderr, "Error reading from %s: %s\n", filename,
39                                 strerror(errno));
40                 exit(0);
41         }
42         close(fd);
43         return 0;
44 }
45
46 #define MB (1024*1024)
47 int main(int argc, char *argv[]) {
48         int input_size = 64;
49         char *input_name = "input.combined";
50
51         spec_init();
52
53         spec_load(input_name, input_size * MB);
54
55         return 0;
56 }