(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
analyzer/
write-to-string-literal-4.c
       1  typedef __SIZE_TYPE__ size_t;
       2  
       3  int getrandom (void *__buffer, size_t __length, /* { dg-message "parameter 1 of 'getrandom' marked with attribute 'access \\(write_only, 1, 2\\)'" } */
       4  	       unsigned int __flags)
       5    __attribute__ ((access (__write_only__, 1, 2)));
       6  
       7  #define GRND_RANDOM 0x02
       8  
       9  void test (int flag)
      10  {
      11    char *buf;
      12  
      13    if (flag)
      14      buf = __builtin_malloc (1024);
      15    else
      16      buf = (char *)""; /* { dg-message "here" } */
      17  
      18    if (getrandom(buf, 16, GRND_RANDOM)) /* { dg-warning "write to string literal" } */
      19      __builtin_printf("%s\n", buf);
      20  
      21    if (flag)
      22      __builtin_free (buf);
      23  }