URL
https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk
Subversion Repositories openrisc_me
[/] [openrisc/] [trunk/] [gnu-src/] [gcc-4.5.1/] [gcc/] [testsuite/] [gcc.dg/] [tree-ssa/] [pr25734.c] - Rev 298
Compare with Previous | Blame | View Log
/* { dg-do compile } */ /* { dg-options "-Os" } */ struct list_head { struct list_head *next; }; static inline __attribute__((always_inline)) void list_del_init(struct list_head *entry) { __list_del(entry->next); (entry)->next = (entry); }; struct dentry { void *d_fsdata; }; struct sysfs_dirent { struct list_head s_sibling; struct list_head s_children; }; const char *sysfs_get_name(struct sysfs_dirent *); void sysfs_hash_and_remove(struct dentry * dir, const char * name) { struct sysfs_dirent * sd; struct sysfs_dirent * parent_sd = dir->d_fsdata; for (sd = (struct sysfs_dirent *)((&parent_sd->s_children)->next); &sd->s_sibling != (&parent_sd->s_children); sd = (struct sysfs_dirent *)sd->s_sibling.next) { if (!__builtin_strcmp(sysfs_get_name(sd), name)) { list_del_init(&sd->s_sibling); break; } } }