1 extern void abort (void);
3 typedef unsigned long my_uintptr_t;
5 int check_a(my_uintptr_t tagged_ptr);
7 int __attribute__((noinline)) try_a(my_uintptr_t x)
10 my_uintptr_t *hp = heap;
14 return check_a((my_uintptr_t)(void*)((char*)hp + 1));
17 int __attribute__((noinline)) check_a(my_uintptr_t tagged_ptr)
19 my_uintptr_t *hp = (my_uintptr_t*)(void*)((char*)tagged_ptr - 1);
21 if (hp[0] == 42 && hp[1] == 0)