source: trunk/binutils/ld/testsuite/ld-auto-import/client.c

Last change on this file was 607, checked in by bird, 22 years ago

Initial revision

  • Property cvs2svn:cvs-rev set to 1.1
  • Property svn:eol-style set to native
  • Property svn:executable set to *
File size: 929 bytes
Line 
1#include <stdio.h>
2
3extern int var;
4extern void (*func_ptr)(void);
5extern void print_var (void);
6extern void print_foo (void);
7extern int foo;
8extern int var2[2];
9
10typedef struct
11{
12 int * var;
13 void (* func_ptr)(void);
14}
15TEST;
16
17TEST xyz = { &var, print_var };
18
19int
20main (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}
Note: See TracBrowser for help on using the repository browser.