/* { dg-do compile } */ /* { dg-options "-O2" } */ struct autofs_sb_info { int exp_timeout; }; void *f; int g; static int fn1 (struct autofs_sb_info *p1) { int a, b; a = ( { register __typeof__(0) c #if defined __x86_64__ asm("rdx") #endif ; b = c; int d; __typeof__(0) e; e = p1->exp_timeout / 1000; switch (0) default: asm("" : "=a"(d) : "0"(e), ""(0)); d; }); if (a) return 1; if (b) p1->exp_timeout = 0; return 0; } int fn2 () { struct autofs_sb_info *h = f; switch (g) { case 0 ?: 0 : return fn1 (h); default: return 0; } }