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

📄 alias-11.c

📁 用于进行gcc测试
💻 C
字号:
/* { dg-do run } *//* { dg-require-alias "" } *//* { dg-options "-O2" } */#include <stdio.h>#include <stdlib.h>#include <string.h>typedef struct dw_cfi_struct{  struct dw_cfi_struct *dw_cfi_next;  const char *dw_cfi_addr;}dw_cfi_node;typedef struct dw_fde_struct{  const char *dw_fde_current_label;  dw_cfi_node *dw_fde_cfi;}dw_fde_node;dw_cfi_node *cie_cfi_head;unsigned fde_table_in_use;dw_fde_node *fde_table;__inline__ voidadd_cfi (dw_cfi_node **list_head, dw_cfi_node *cfi){  dw_cfi_node **p;  for (p = list_head; (*p) != ((void *)0); p = &(*p)->dw_cfi_next)    ;  *p = cfi;}__inline__ struct dw_cfi_struct *new_cfi (void){  dw_cfi_node *cfi = (dw_cfi_node *) malloc (sizeof (dw_cfi_node));  memset (cfi, 0, sizeof (dw_cfi_node));  return cfi;}char *dwarf2out_cfi_label (void){  static char label[20];  static unsigned long label_num = 0;  sprintf (label, "*.%s%u", "LCFI", (unsigned) (label_num++));  return label;}voidadd_fde_cfi (const char *label, dw_cfi_node *cfi){  if (label)    {      dw_fde_node *fde = fde_table + fde_table_in_use - 1;      if (*label == 0)	label = dwarf2out_cfi_label ();      if (fde->dw_fde_current_label == ((void *)0)	  || strcmp (label, fde->dw_fde_current_label))	{	  dw_cfi_node *xcfi;	  fde->dw_fde_current_label = label = strdup (label);	  xcfi = new_cfi ();	  xcfi->dw_cfi_addr = label;	  add_cfi (&fde->dw_fde_cfi, xcfi);	}      add_cfi (&fde->dw_fde_cfi, cfi);    }  else    add_cfi (&cie_cfi_head, cfi);}intmain (){  dw_cfi_node *cfi;  dw_fde_node *fde;  fde_table_in_use = 1;  fde_table = (dw_fde_node *) realloc (fde_table,				       sizeof (dw_fde_node));  memset (fde_table, 0, sizeof (dw_fde_node));  cfi = new_cfi ();  add_fde_cfi ("", cfi);  fde = &fde_table[0];  cfi = fde->dw_fde_cfi;  if (cfi == NULL)    abort ();  if (cfi->dw_cfi_addr == NULL)    abort ();  if (strcmp ("*.LCFI0", cfi->dw_cfi_addr))    abort ();  return 0;}

⌨️ 快捷键说明

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