annotate gcc/testsuite/gcc.c-torture/compile/20080613-1.c @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
111
kono
parents:
diff changeset
1 /* PR middle-end/36520 */
kono
parents:
diff changeset
2 /* Testcase by Richard Guenther <rguenth@gcc.gnu.org> */
kono
parents:
diff changeset
3
kono
parents:
diff changeset
4 typedef __SIZE_TYPE__ size_t;
kono
parents:
diff changeset
5 typedef unsigned short int sa_family_t;
kono
parents:
diff changeset
6 struct cmsghdr {
kono
parents:
diff changeset
7 size_t cmsg_len;
kono
parents:
diff changeset
8 __extension__ unsigned char __cmsg_data [];
kono
parents:
diff changeset
9 };
kono
parents:
diff changeset
10 typedef unsigned int uint32_t;
kono
parents:
diff changeset
11 struct in6_addr {
kono
parents:
diff changeset
12 union {
kono
parents:
diff changeset
13 uint32_t u6_addr32[4];
kono
parents:
diff changeset
14 } in6_u;
kono
parents:
diff changeset
15 };
kono
parents:
diff changeset
16 struct sockaddr_in {
kono
parents:
diff changeset
17 sa_family_t sin_family;
kono
parents:
diff changeset
18 };
kono
parents:
diff changeset
19 struct in6_pktinfo {
kono
parents:
diff changeset
20 struct in6_addr ipi6_addr;
kono
parents:
diff changeset
21 };
kono
parents:
diff changeset
22 typedef union {
kono
parents:
diff changeset
23 struct sockaddr_in sin;
kono
parents:
diff changeset
24 } sockaddr_any;
kono
parents:
diff changeset
25 static sockaddr_any src_addr;
kono
parents:
diff changeset
26
kono
parents:
diff changeset
27 inline struct cmsghdr * cmsg_put(struct cmsghdr *cm, int type, void *data, size_t len)
kono
parents:
diff changeset
28 {
kono
parents:
diff changeset
29 memcpy(((cm)->__cmsg_data), data, len);
kono
parents:
diff changeset
30 }
kono
parents:
diff changeset
31
kono
parents:
diff changeset
32 int hop_sendmsg(int fd) {
kono
parents:
diff changeset
33 struct cmsghdr *cm;
kono
parents:
diff changeset
34 if (src_addr.sin.sin_family) {
kono
parents:
diff changeset
35 if (src_addr.sin.sin_family == 2) {
kono
parents:
diff changeset
36 struct in6_pktinfo info;
kono
parents:
diff changeset
37 cm = cmsg_put(cm, 50, &info, sizeof(info));
kono
parents:
diff changeset
38 }
kono
parents:
diff changeset
39 }
kono
parents:
diff changeset
40 }