xref: /llvm-project/bolt/test/runtime/Inputs/fptr.c (revision 4c106cfdf7cf7eec861ad3983a3dd9a9e8f3a8ae)
1*f808ea00SAmir Ayupov // Make sure all printed values are the same and are updated after BOLT.
2*f808ea00SAmir Ayupov 
3*f808ea00SAmir Ayupov #include <stdio.h>
4*f808ea00SAmir Ayupov 
5*f808ea00SAmir Ayupov int main(int argc, char *argv[]);
6*f808ea00SAmir Ayupov 
7*f808ea00SAmir Ayupov unsigned long Global = (unsigned long)main + 0x7fffffff;
8*f808ea00SAmir Ayupov 
main(int argc,char * argv[])9*f808ea00SAmir Ayupov int main(int argc, char *argv[]) {
10*f808ea00SAmir Ayupov 
11*f808ea00SAmir Ayupov   unsigned long Local = (unsigned long)&main + 0x7fffffff;
12*f808ea00SAmir Ayupov   unsigned long Local2 = &main + 0x7fffffff;
13*f808ea00SAmir Ayupov 
14*f808ea00SAmir Ayupov   printf("Global = 0x%lx\n", Global);
15*f808ea00SAmir Ayupov   printf("Local = 0x%lx\n", Local);
16*f808ea00SAmir Ayupov   printf("Local2 = 0x%lx\n", Local2);
17*f808ea00SAmir Ayupov 
18*f808ea00SAmir Ayupov   return 0;
19*f808ea00SAmir Ayupov }
20