blob: 7bdb5e50fbea49056e19160ab0c03d1cad7bb647 [file] [log] [blame]
/* { dg-do compile } */
/* { dg-options "-O2 -fgnu89-inline" } */
typedef struct { } spinlock_t;
struct list_head {
struct list_head *next, *prev;
};
struct __wait_queue_head {
spinlock_t lock;
struct list_head task_list;
};
typedef struct __wait_queue_head wait_queue_head_t;
static inline void init_waitqueue_head(wait_queue_head_t *q)
{
q->lock = (spinlock_t) { };
do { (&q->task_list)->next = (&q->task_list); (&q->task_list)->prev = (&q->task_list); } while (0);
}
struct timer_list {
void (*function)(unsigned long);
};
struct rpc_task {
struct timer_list tk_timer;
wait_queue_head_t tk_wait;
};
static void
rpc_run_timer(struct rpc_task *task)
{
}
inline void
rpc_init_task(struct rpc_task *task)
{
task->tk_timer.function = (void (*)(unsigned long)) rpc_run_timer;
init_waitqueue_head(&task->tk_wait);
}