View | Edit | Raw Unified | Differences between
and this patch

Collapse All | Expand All | Context: (Patch / File /
)

(-) gcc/cgraph.c.builtin (-1 / +20 lines)
 Lines 242-248   cgraph_remove_node (struct cgraph_node * Link Here 
    htab_find_slot_with_hash (cgraph_hash, DECL_ASSEMBLER_NAME (node->decl),
    htab_find_slot_with_hash (cgraph_hash, DECL_ASSEMBLER_NAME (node->decl),
			      IDENTIFIER_HASH_VALUE (DECL_ASSEMBLER_NAME
			      IDENTIFIER_HASH_VALUE (DECL_ASSEMBLER_NAME
						     (node->decl)), NO_INSERT);
						     (node->decl)), NO_INSERT);
  htab_clear_slot (cgraph_hash, slot);
  if (slot == 0)
    {
      if (!DECL_BUILT_IN (node->decl))
	/* We use DECL_ASSEMBLER_NAME as key, which doesn't work with
	
	   extern __inline int
	   foo (const char *__s, char __reject)
	   {
	     return __builtin_strchr (__s, __reject) != ((void *)0);
	   }
	      
	   extern char *bar (__const char *__s, int __c);
	   extern __typeof (bar) strchr __asm__ ("bar");
	   Gcc 3.5 uses DECL_UID as key. which doesn't have this
	   problem.  */
	abort ();
    }
  else
    htab_clear_slot (cgraph_hash, slot);
  /* Do not free the structure itself so the walk over chain can continue.  */
  /* Do not free the structure itself so the walk over chain can continue.  */
}
}