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