Zhongxing Xu | 2fc3259 | 2009-04-29 01:50:12 +0000 | [diff] [blame^] | 1 | // RUN: clang-cc -analyze -checker-cfref -analyzer-store=region --verify %s |
| 2 | // XFAIL |
| 3 | |
Zhongxing Xu | c58e785 | 2009-04-28 13:52:13 +0000 | [diff] [blame] | 4 | struct sockaddr_storage { |
| 5 | int d; |
| 6 | }; |
| 7 | |
| 8 | struct sockaddr { |
| 9 | int sa_family; |
| 10 | }; |
| 11 | |
| 12 | void f(int sock) { |
| 13 | struct sockaddr_storage storage; |
| 14 | struct sockaddr* sockaddr = (struct sockaddr*)&storage; |
| 15 | socklen_t addrlen = sizeof(storage); |
| 16 | getsockname(sock, sockaddr, &addrlen); |
| 17 | switch (sockaddr->sa_family) { // no-warning |
| 18 | default: |
| 19 | ; |
| 20 | } |
| 21 | } |