X-Git-Url: https://oss.titaniummirror.com/gitweb?p=msp430-binutils.git;a=blobdiff_plain;f=ld%2Ftestsuite%2Fld-auto-import%2Fclient.c;fp=ld%2Ftestsuite%2Fld-auto-import%2Fclient.c;h=b883fdbd17b64fdc3f8c145389ce40bfdb2b7fc5;hp=b3534eecc379efc7c4b079f15a33435e8bfc7f00;hb=d5da4f291af551c0b8b79e1d4a9b173d60e5c10e;hpb=7b5ea4fcdf2819e070665ab5610f8b48e3867c10 diff --git a/ld/testsuite/ld-auto-import/client.c b/ld/testsuite/ld-auto-import/client.c index b3534ee..b883fdb 100644 --- a/ld/testsuite/ld-auto-import/client.c +++ b/ld/testsuite/ld-auto-import/client.c @@ -1,55 +1,60 @@ -#include - -extern int var; -extern void (*func_ptr)(void); -extern void print_var (void); -extern void print_foo (void); -extern int foo; -extern int var2[2]; - -typedef struct -{ - int * var; - void (* func_ptr)(void); -} -TEST; - -TEST xyz = { &var, print_var }; - -int -main (void) -{ - print_var (); - - printf ("We see var = %d\n", var); - printf ("Setting var = 456\n"); - - var = 456; - - print_var (); - printf ("We see var = %d\n\n", var); - - var = 90; - print_var (); - printf ("We see var = %d\n\n", var); - - print_foo (); - printf ("We see foo = %d\n", foo); - printf ("Setting foo = 19\n"); - foo = 19; - print_foo (); - printf ("We see foo = %d\n\n", foo); - fflush (stdout); - - printf ("Calling dllimported function pointer\n"); - func_ptr (); - - printf ("Calling functions using global structure\n"); - xyz.func_ptr (); - * xyz.var = 40; - xyz.func_ptr (); - - printf ("We see var2[0] = %d\n\n", var2[0]); - - return 0; -} +#include + +extern int var; +extern void (*func_ptr)(void); +extern void print_var (void); +extern void print_foo (void); +extern int foo; +extern int var2[2]; + +typedef struct +{ + int * var; + void (* func_ptr)(void); + int * var_with_offset; +} +TEST; + +TEST xyz = { & var, print_var, & var }; + +const TEST const_xyz = { & var, print_var, & var }; + +int +main (void) +{ + print_var (); + + printf ("We see var = %d\n", var); + printf ("Setting var = 456\n"); + + var = 456; + + print_var (); + printf ("We see var = %d\n\n", var); + + var = 90; + print_var (); + printf ("We see var = %d\n\n", var); + + print_foo (); + printf ("We see foo = %d\n", foo); + printf ("Setting foo = 19\n"); + foo = 19; + print_foo (); + printf ("We see foo = %d\n\n", foo); + fflush (stdout); + + printf ("Calling dllimported function pointer\n"); + func_ptr (); + + printf ("Calling functions using global structure\n"); + xyz.func_ptr (); + * xyz.var = 40; + xyz.func_ptr (); + + printf ("We see var2[0] = %d\n\n", var2[0]); + + printf ("We see const xyz %x %x\n", const_xyz.var, const_xyz.var_with_offset); + + return 0; +}