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()24tg3_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