111
|
1 __attribute__ ((__noinline__, __noclone__))
|
|
2 int foo(void *x)
|
|
3 {
|
|
4 asm ("");
|
|
5 return *(int *) x != 42;
|
|
6 }
|
|
7
|
|
8 __attribute__ ((__noinline__, __noclone__))
|
|
9 void foobar(void *x)
|
|
10 {
|
|
11 asm ("");
|
|
12 if (foo(x))
|
|
13 __builtin_abort();
|
|
14 }
|
|
15
|
|
16 struct rtc_class_ops {
|
|
17 int (*f)(void *, unsigned int enabled);
|
|
18 };
|
|
19
|
|
20 struct rtc_device
|
|
21 {
|
|
22 void *owner;
|
|
23 struct rtc_class_ops *ops;
|
|
24 int ops_lock;
|
|
25 };
|
|
26
|
|
27 extern __attribute__ ((__noinline__, __noclone__))
|
|
28 int rtc_update_irq_enable(struct rtc_device *rtc, unsigned int);
|
|
29
|
|
30 int main(void)
|
|
31 {
|
|
32 struct rtc_class_ops ops = {(void *) 0};
|
|
33 struct rtc_device dev1 = {0, &ops, 42};
|
|
34
|
|
35 if (rtc_update_irq_enable (&dev1, 1) != -22)
|
|
36 __builtin_abort ();
|
|
37
|
|
38 __builtin_exit (0);
|
|
39 }
|