1 /* { dg-do compile } */
2 /* { dg-options "-Os" } */
5 struct list_head
*next
;
7 void __list_del (struct list_head
*);
8 static inline __attribute__((always_inline
)) void list_del_init(struct
11 __list_del(entry
->next
);
12 (entry
)->next
= (entry
);
18 struct list_head s_sibling
;
19 struct list_head s_children
;
21 const char *sysfs_get_name(struct sysfs_dirent
*);
22 void sysfs_hash_and_remove(struct dentry
* dir
, const char * name
)
24 struct sysfs_dirent
* sd
;
25 struct sysfs_dirent
* parent_sd
= dir
->d_fsdata
;
26 for (sd
= (struct sysfs_dirent
*)((&parent_sd
->s_children
)->next
);
27 &sd
->s_sibling
!= (&parent_sd
->s_children
);
28 sd
= (struct sysfs_dirent
*)sd
->s_sibling
.next
) {
29 if (!__builtin_strcmp(sysfs_get_name(sd
), name
))
31 list_del_init(&sd
->s_sibling
);