(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
analyzer/
strcpy-3.c
       1  #include <string.h>
       2  #include "analyzer-decls.h"
       3  
       4  void test_1 (void)
       5  {
       6    char str[] = "Hello";
       7    char buf[6];
       8    char *result = strcpy (buf, str);
       9    __analyzer_describe (1, result); /* { dg-warning "region_svalue.*?'buf'" } */
      10    __analyzer_eval (result == buf); /* { dg-warning "TRUE" } */
      11    __analyzer_eval (buf[0] == 'H'); /* { dg-warning "TRUE" } */
      12    __analyzer_eval (buf[1] == 'e'); /* { dg-warning "TRUE" } */
      13    __analyzer_eval (buf[2] == 'l'); /* { dg-warning "TRUE" } */
      14    __analyzer_eval (buf[3] == 'l'); /* { dg-warning "TRUE" } */
      15    __analyzer_eval (buf[4] == 'o'); /* { dg-warning "TRUE" } */
      16    __analyzer_eval (buf[5] == 0); /* { dg-warning "TRUE" } */
      17    __analyzer_eval (result[0] == 'H'); /* { dg-warning "TRUE" } */
      18    __analyzer_eval (result[1] == 'e'); /* { dg-warning "TRUE" } */
      19    __analyzer_eval (result[2] == 'l'); /* { dg-warning "TRUE" } */
      20    __analyzer_eval (result[3] == 'l'); /* { dg-warning "TRUE" } */
      21    __analyzer_eval (result[4] == 'o'); /* { dg-warning "TRUE" } */
      22    __analyzer_eval (result[5] == 0); /* { dg-warning "TRUE" } */
      23  }