1 #include <stdio.h> 2 3 #ifndef N 4 # define N 0 5 #endif 6 7 static __thread int var = 4; 8 9 int test(void)10test (void) 11 { 12 int *p = &var; 13 /* GCC assumes &var is never NULL, add optimization barrier. */ 14 asm volatile ("" : "+r" (p)); 15 if (p == NULL || *p != 4) 16 { 17 printf ("fail %d %p\n", N, p); 18 return 1; 19 } 20 return 0; 21 } 22