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

📄 20020312-2.c

📁 this is a gcc file, you can download it and learn its usetility, for further detail please look at t
💻 C
字号:
/* PR 5878.    We ICEd in verify_local_live_at_start because we incorrectly forced   the PIC register live between BAR and BAZ.  We did this because the   definition of PIC_OFFSET_TABLE_REGNUM was incorrectly not INVALID_REGNUM   when !flag_pic for most targets.  *//* { dg-do run } *//* { dg-options "-O -fno-pic" } */#if #cpu(a29k)/* No pic register.  */#elif defined(__alpha__)/* PIC register is $29, but is used even without -fpic.  */#elif defined(__arc__)# define PIC_REG  "26"#elif defined(__arm__)# define PIC_REG  "9"#elif defined(AVR)/* No pic register.  */#elif defined(__clipper__)/* No pic register.  */#elif defined(__convex__)/* No pic register.  */#elif defined(__cris__)# define PIC_REG  "0"#elif defined(__D30V__)/* No pic register.  */#elif defined(__dsp1600__)/* No pic register.  */#elif defined(__elxsi__)/* No pic register.  */#elif defined(__fr30__)/* No pic register.  */#elif defined(__H8300__) || defined(__H8300H__) || defined(__H8300S__)/* No pic register.  */#elif defined(_IBMR2)/* No pic register.  */#elif #cpu(i370)/* No pic register.  */#elif defined(__i386__)# define PIC_REG  "ebx"#elif defined(__i860__)/* No pic register.  */#elif defined(__i960__)/* No pic register.  */#elif defined(__ia64__)/* PIC register is r1, but is used even without -fpic.  */#elif defined(__M32R__)/* No pic register.  */#elif defined(__m68k__)# define PIC_REG  "a5"#elif defined(__m88k__)# define PIC_REG  "25"#elif defined(__mc68hc1x__)/* No pic register.  */#elif defined(__mcore__)/* No pic register.  */#elif defined(__mips__)/* PIC register is $28, but is used even without -fpic.  */#elif defined(__MMIX__)/* No pic register.  */#elif defined(__mn10200__)/* No pic register.  */#elif defined(__mn10300__)/* No pic register.  */#elif #cpu(ns32k)/* No pic register.  */#elif defined(__hppa__)/* PIC register is %r27 or %r19, but is used even without -fpic.  */#elif defined(__pdp11__)/* No pic register.  */#elif defined(__pj__)/* No pic register.  */#elif defined(__powerpc__) || defined(__PPC__) || defined(__POWERPC__)# ifdef __MACH__#  define PIC_REG  "31"# else#  define PIC_REG  "30"# endif#elif defined(__ibm032__) /* aka romp *//* No pic register.  */#elif defined(__s390__)# define PIC_REG  "12"#elif defined(__sparc__)# define PIC_REG  "l7"#elif defined(__v850)/* No pic register.  */#elif defined(__vax__)/* No pic register.  */#elif defined(__we32000__)/* No pic register.  */#elif defined(__xstormy16__)/* No pic register.  */#elif defined(__XTENSA__)/* No pic register.  */#elif defined(__sh__)# define PIC_REG  "r12"#elif defined(__x86_64__)/* No pic register.  */#else# error "Modify the test for your target."#endif#if defined PIC_REG && !defined __PIC__ && !defined __pic__register void *reg __asm__(PIC_REG);#else/* We really need a global register variable set to the PIC register   to expose the bug.  Oh well, let the test case not fail.  */static void *reg;#endifvoid * __attribute__((noinline))dummy (void *x){  return x;}voidf (void){  goto *dummy (&&bar);  for (;;)    {    foo:      reg = (void *) 1;      if (!reg)        goto baz;      reg = &&foo;    } bar: baz:  reg = 0;}intmain(){  void *old_reg = reg;  reg = (void *) 1;  f ();  /* Additionally test that the prologue/epilogue properly does *not*     save and restore global registers.  Not possible when the PIC     register is in a register window, of course.  On Darwin, you can't     call library routines from non-PIC code.  */#if !defined (__sparc__) && !(defined(__MACH__) && defined(__POWERPC__))  if (reg)    abort ();#endif  reg = old_reg;  return 0;}

⌨️ 快捷键说明

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