(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
torture/
pr19462-1.c
       1  /* { dg-do compile } */
       2  /* PR rtl-optimization/19462
       3     Delayed branch bug: return insns generated in presence of
       4     current_function_epilogue_delay_list.  See also PR target/7042.  */
       5  
       6  /* The test is from newlib/libc/string/wcscspn.c, which has the following
       7     copyright and licensing notice, which by inclusion this file supposedly
       8     complies with:
       9  
      10   * Copyright (c)1999 Citrus Project,
      11   * All rights reserved.
      12   *
      13   * Redistribution and use in source and binary forms, with or without
      14   * modification, are permitted provided that the following conditions
      15   * are met:
      16   * 1. Redistributions of source code must retain the above copyright
      17   *    notice, this list of conditions and the following disclaimer.
      18   * 2. Redistributions in binary form must reproduce the above copyright
      19   *    notice, this list of conditions and the following disclaimer in the
      20   *    documentation and/or other materials provided with the distribution.
      21   *
      22   * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
      23   * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
      24   * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
      25   * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
      26   * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
      27   * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
      28   * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
      29   * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
      30   * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
      31   * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
      32   * SUCH DAMAGE.  */
      33  
      34  
      35  unsigned long
      36  wcscspn(const long *s, const long *set)
      37  {
      38    const long *p;
      39    const long *q;
      40  
      41    p = s;
      42    while (*p)
      43      {
      44        q = set;
      45        while (*q)
      46          {
      47            if (*p == *q)
      48              goto done;
      49            q++;
      50          }
      51        p++;
      52      }
      53  
      54  done:
      55    return (p - s);
      56  }