// Test that rolling back allocations works. | |
#include <stdlib.h> | |
void __attribute((transaction_pure,noinline)) dont_optimize(void* p) | |
{ | |
*(volatile char *) p; | |
} | |
int main() | |
{ | |
__transaction_atomic { | |
void *p = malloc (23); | |
dont_optimize (p); | |
__transaction_cancel; | |
} | |
return 0; | |
} |