(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
strlenopt-31.c
       1  /* { dg-do run } */
       2  /* { dg-options "-O2" } */
       3  
       4  #include "strlenopt.h"
       5  
       6  __attribute__((noinline, noclone)) int
       7  bar (char *p1, const char *q)
       8  {
       9    strcpy (p1, "abcde");
      10    char *p2 = strchr (p1, '\0');
      11    strcpy (p2, q);
      12    char *p3 = strchr (p2, '\0');
      13    memcpy (p3, "x", 2);
      14    return strlen (p1);
      15  }
      16  
      17  int
      18  main (void)
      19  {
      20    char buffer[10];
      21    int res = bar (buffer, "foo");
      22    if (strcmp (buffer, "abcdefoox") != 0 || res != 9)
      23      abort ();
      24    return 0;
      25  }