summaryrefslogtreecommitdiff
path: root/util/romcc/tests/simple_test17.c
blob: 2e3005ea9ae3ab87026747c797c41021e30d8e27 (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
31
32
33
34
35
36
37
38
typedef unsigned char uint8_t;
typedef unsigned short uint16_t;
typedef unsigned int uint32_t;


struct iter {
	uint32_t i;
};

struct point {
	uint32_t i, j;
};

static void outb(uint8_t value, uint16_t port)
{
        __builtin_outb(value, port);
}


static struct point mkpoint(void)
{
	struct point p;
	p.i = 1000;
	p.j = 2000;
	return p;
}

static void main(void)
{
	struct iter iter;
	for(iter.i = 0; iter.i < 32; iter.i++) {
		outb(iter.i, 0x80);
	}
	struct point p;
	p = mkpoint();
	outb(p.i, 0x80);
	outb(p.j, 0x80);
}