1 /* { dg-do compile } */
2 /* { dg-options "-O -w" } */
3 
4 struct skb_shared_info {
5   short gso_size;
6 };
7 
8 enum { NETDEV_TX_OK };
9 
10 struct iphdr {
11   short tot_len;
12   int daddr;
13 };
14 
15 int tg3_tso_bug();
16 int netdev_priv();
17 int skb_cow_head();
18 int tcp_hdrlen__builtin_expect();
19 struct iphdr *ip_hdr();
20 int _tg3_flag();
21 int tg3_tso_bug_gso_check();
22 
23 int
tg3_start_xmit()24 tg3_start_xmit() {
25   int *tp = netdev_priv();
26   int mss, tnapi;
27   struct iphdr *iph;
28   tnapi = mss = ((struct skb_shared_info *)0)->gso_size;
29   if (mss) {
30     int hdr_len;
31     if (skb_cow_head())
32       iph = ip_hdr();
33     hdr_len = tcp_hdrlen__builtin_expect() && _tg3_flag();
34     if (tg3_tso_bug_gso_check())
35       return tg3_tso_bug(tp, tnapi);
36     iph->tot_len = mss + hdr_len;
37     if (_tg3_flag(tp) || tp)
38       ;
39     else
40       asm("" : : "g"(iph->daddr));
41   }
42   return 0;
43 }
44