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)