1ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao// RUN: %clang_cc1 -fsyntax-only -verify %s
2ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaotypedef long unsigned int __darwin_size_t;
3ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaotypedef long __darwin_ssize_t;
4ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaotypedef __darwin_size_t size_t;
5ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaotypedef __darwin_ssize_t ssize_t;
6ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao
7ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaostruct cmsghdr {};
8ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao
9ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao#if 0
10ea285162342df160e7860e26528bc7110bc6c0cdShih-wei LiaoThis code below comes from the following system headers:
11ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaosys/socket.h:#define CMSG_SPACE(l) (__DARWIN_ALIGN(sizeof(struct
12ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaocmsghdr)) + __DARWIN_ALIGN(l))
13ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao
14ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaoi386/_param.h:#define __DARWIN_ALIGN(p) ((__darwin_size_t)((char *)(p)
15ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao+ __DARWIN_ALIGNBYTES) &~ __DARWIN_ALIGNBYTES)
16ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao#endif
17ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao
18ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaossize_t sendFileDescriptor(int fd, void *data, size_t nbytes, int sendfd) {
19ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao  union {
20ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao    char control[(((__darwin_size_t)((char *)(sizeof(struct cmsghdr)) + (sizeof(__darwin_size_t) - 1)) &~ (sizeof(__darwin_size_t) - 1)) + ((__darwin_size_t)((char *)(sizeof(int)) + (sizeof(__darwin_size_t) - 1)) &~ (sizeof(__darwin_size_t) - 1)))];
21ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao  } control_un;
22ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao  return 0;
23ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao}
24ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao
25