Test the auto importing direct from a dll functionality.
[deliverable/binutils-gdb.git] / ld / testsuite / ld-auto-import / client.c
1 #include <stdio.h>
2
3 extern int var;
4 extern void (*func_ptr)(void);
5 extern void print_var (void);
6 extern void print_foo (void);
7 extern int foo;
8 extern int var2[2];
9
10 typedef struct
11 {
12 int * var;
13 void (* func_ptr)(void);
14 }
15 TEST;
16
17 TEST xyz = { &var, print_var };
18
19 int
20 main (void)
21 {
22 print_var ();
23
24 printf ("We see var = %d\n", var);
25 printf ("Setting var = 456\n");
26
27 var = 456;
28
29 print_var ();
30 printf ("We see var = %d\n\n", var);
31
32 var = 90;
33 print_var ();
34 printf ("We see var = %d\n\n", var);
35
36 print_foo ();
37 printf ("We see foo = %d\n", foo);
38 printf ("Setting foo = 19\n");
39 foo = 19;
40 print_foo ();
41 printf ("We see foo = %d\n\n", foo);
42 fflush (stdout);
43
44 printf ("Calling dllimported function pointer\n");
45 func_ptr ();
46
47 printf ("Calling functions using global structure\n");
48 xyz.func_ptr ();
49 * xyz.var = 40;
50 xyz.func_ptr ();
51
52 printf ("We see var2[0] = %d\n\n", var2[0]);
53
54 return 0;
55 }
This page took 0.036415 seconds and 4 git commands to generate.