1  /* { dg-require-effective-target sockets } */
       2  /* { dg-additional-options "-fanalyzer-verbose-state-changes" } */
       3  
       4  #include <sys/socket.h>
       5  #include <sys/un.h>
       6  #include <unistd.h>
       7  #include <errno.h>
       8  
       9  void test_leak_unchecked_stream_socket (void)
      10  {
      11    int fd = socket (AF_UNIX, SOCK_STREAM, 0); /* { dg-message "meaning: \\{verb: 'acquire', noun: 'resource'\\}" } */
      12  } /* { dg-warning "leak of file descriptor 'fd'" } */
      13  
      14  void test_leak_unchecked_datagram_socket (void)
      15  {
      16    int fd = socket (AF_UNIX, SOCK_DGRAM, 0); /* { dg-message "meaning: \\{verb: 'acquire', noun: 'resource'\\}" } */
      17  } /* { dg-warning "leak of file descriptor 'fd'" } */
      18  
      19  void test_leak_unchecked_socket (int type)
      20  {
      21    int fd = socket (AF_UNIX, type, 0); /* { dg-message "meaning: \\{verb: 'acquire', noun: 'resource'\\}" } */
      22  } /* { dg-warning "leak of file descriptor 'fd'" } */