⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pr16194.c

📁 用于进行gcc测试
💻 C
字号:
/* { dg-do compile } *//* { dg-options "-O" } *//* { dg-bogus "internal compiler error" "ICE" { target *-*-* } 0 } */#undef SKIP#define ASMDECL __asm (REG);#define CLOBBER_LIST : REG#define INP_CLOBBER_LIST : CLOBBER_LIST#if defined (__alpha__)# define REG "$1"#elif defined (__CRIS__) || defined (__sh__)# define REG "r10"#elif defined (__hppa__)# define REG "%r10"#elif defined (__i386__)# define REG "%eax"#elif defined (__MMIX__)# define REG "$8"#elif defined (__powerpc__) || defined (__PPC__) || defined (__ppc__) \        || defined (__POWERPC__) || defined (PPC) || defined (_IBMR2)# define REG "6"#elif defined (__x86_64__)# define REG "rax"#elif defined (__m68k__)# define REG "%d0"#else/* Make this test harmless for any target not recognized above.  */# define SKIP 1#endif#ifndef SKIPstruct A{  int a;};struct B{  struct A b[3];};struct C{  struct B c;};void bug (void){  register char* dst ASMDECL;  __asm__ ("":"=g"(*dst): : REG);}/* The tree optimizers currently prevent us from finding an overlap -   we end up using a copy of dst rather than dst.   But at least make sure we don't get an ICE.  */void bug2 (void){  register char* dst ASMDECL;  __asm__ ("": :"g"(*dst) CLOBBER_LIST);}voidfoo (void){  register struct C *dst ASMDECL;  __asm__ ("" : "=g"(dst->c.b[1].a) INP_CLOBBER_LIST);}#elseint main (){  return 0;}#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -