Fix warning with -Wsign-compare -Wsystem-headers
[official-gcc.git] / gcc / testsuite / gcc.target / arc / jump-around-jump.c
blob2fd3fb644c16b384a1726f4dc869bdbe045f48cd
1 /* { dg-do compile } */
2 /* { dg-options "-Os -mlock -mswape -fno-reorder-blocks" } */
4 /* This caused an ICE in arc_ifcvt when the 1->3 state change was not
5 implemented for TYPE_UNCOND_BRANCH in arc_ccfsm_post_advance. */
7 typedef long __kernel_long_t;
8 typedef __kernel_long_t __kernel_time_t;
10 struct timespec {
11 __kernel_time_t tv_sec;
12 long tv_nsec;
16 struct module;
17 struct device {
18 struct device *parent;
21 struct rtc_time {
22 int tm_sec;
23 int tm_min;
24 int tm_hour;
25 int tm_mday;
26 int tm_mon;
27 int tm_year;
28 int tm_wday;
29 int tm_yday;
30 int tm_isdst;
32 struct rtc_wkalrm {
33 unsigned char enabled;
34 unsigned char pending;
35 struct rtc_time time;
38 struct rtc_class_ops {
39 int (*open)(struct device *);
40 void (*release)(struct device *);
41 int (*ioctl)(struct device *, unsigned int, unsigned long);
42 int (*read_time)(struct device *, struct rtc_time *);
43 int (*set_time)(struct device *, struct rtc_time *);
44 int (*read_alarm)(struct device *, struct rtc_wkalrm *);
45 int (*set_alarm)(struct device *, struct rtc_wkalrm *);
46 //int (*proc)(struct device *, struct seq_file *);
47 int (*set_mmss)(struct device *, unsigned long secs);
48 int (*read_callback)(struct device *, int data);
49 int (*alarm_irq_enable)(struct device *, unsigned int enabled);
52 struct rtc_device
54 struct device dev;
55 struct module *owner;
57 int id;
58 char name[20];
60 const struct rtc_class_ops *ops;
61 // struct mutex ops_lock;
63 // struct cdev char_dev;
64 unsigned long flags;
66 unsigned long irq_data;
67 //spinlock_t irq_lock;
68 //wait_queue_head_t irq_queue;
69 //struct fasync_struct *async_queue;
71 //struct rtc_task *irq_task;
72 //spinlock_t irq_task_lock;
73 int irq_freq;
74 int max_user_freq;
76 //struct timerqueue_head timerqueue;
77 //struct rtc_timer aie_timer;
78 //struct rtc_timer uie_rtctimer;
79 //struct hrtimer pie_timer;
80 int pie_enabled;
81 //struct work_struct irqwork;
83 int uie_unsupported;
86 //struct work_struct uie_task;
87 //struct timer_list uie_timer;
89 unsigned int oldsecs;
90 unsigned int uie_irq_active:1;
91 unsigned int stop_uie_polling:1;
92 unsigned int uie_task_active:1;
93 unsigned int uie_timer_active:1;
97 extern void rtc_time_to_tm(unsigned long time, struct rtc_time *tm);
98 extern struct rtc_device *rtc_class_open(const char *name);
99 extern void rtc_class_close(struct rtc_device *rtc);
100 extern int rtc_set_time (struct rtc_device *rtc, struct rtc_time *tm);
102 int rtc_set_ntp_time(struct timespec now)
104 struct rtc_device *rtc;
105 struct rtc_time tm;
106 int err = -19;
108 if (now.tv_nsec < (1000000000L >> 1))
109 rtc_time_to_tm(now.tv_sec, &tm);
110 else
111 rtc_time_to_tm(now.tv_sec + 1, &tm);
113 rtc = rtc_class_open("rtc0");
114 if (rtc) {
117 if (rtc->ops && (rtc->ops->set_time || rtc->ops->set_mmss))
118 err = rtc_set_time(rtc, &tm);
119 rtc_class_close(rtc);
122 return err;