summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.target/powerpc/non-lazy-ptr-test.c
blob: 10cce470ab3cccb0306c0acd8ed353ffef052ae9 (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
39
40
/* { dg-do compile { target powerpc*-apple-darwin* } } */
/* { dg-options "-S" } */

typedef void PF (void);

static void f(void) {
}

void f1(void) {
}

extern void f2(void) {
}

static void f3(void);

void pe(void)
{
}

PF* g (void) { f(); return f; }
PF* x (void) { return f1; }
PF* y (void) { f2(); return f2; }
PF* z (void) { return f3; }
PF* w (void) { pe(); return pe; }

int main()
{
	(*g())();
	(*x())();
	(*y())();
	(*z())();
	(*w())();
	return 0;
}

void f3(void) {
}

/* { dg-final { scan-assembler-not "non_lazy_ptr" } } */