-#include <stdio.h>
-
-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 <stdio.h>\r
+\r
+extern int var;\r
+extern void (*func_ptr)(void);\r
+extern void print_var (void);\r
+extern void print_foo (void);\r
+extern int foo;\r
+extern int var2[2];\r
+\r
+typedef struct\r
+{\r
+ int * var;\r
+ void (* func_ptr)(void);\r
+ int * var_with_offset;\r
+}\r
+TEST;\r
+\r
+TEST xyz = { & var, print_var, & var };\r
+\r
+const TEST const_xyz = { & var, print_var, & var };\r
+\r
+int\r
+main (void)\r
+{\r
+ print_var ();\r
+\r
+ printf ("We see var = %d\n", var);\r
+ printf ("Setting var = 456\n");\r
+\r
+ var = 456;\r
+\r
+ print_var ();\r
+ printf ("We see var = %d\n\n", var);\r
+\r
+ var = 90;\r
+ print_var ();\r
+ printf ("We see var = %d\n\n", var);\r
+\r
+ print_foo ();\r
+ printf ("We see foo = %d\n", foo);\r
+ printf ("Setting foo = 19\n");\r
+ foo = 19;\r
+ print_foo ();\r
+ printf ("We see foo = %d\n\n", foo);\r
+ fflush (stdout);\r
+\r
+ printf ("Calling dllimported function pointer\n");\r
+ func_ptr ();\r
+\r
+ printf ("Calling functions using global structure\n"); \r
+ xyz.func_ptr ();\r
+ * xyz.var = 40;\r
+ xyz.func_ptr ();\r
+\r
+ printf ("We see var2[0] = %d\n\n", var2[0]);\r
+\r
+ printf ("We see const xyz %x %x\n", const_xyz.var, const_xyz.var_with_offset);\r
+\r
+ return 0;\r
+}\r