(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
pr87112.c
       1  /* PR tree-optimization/87112 - ICE due to strnlen mixing integer types
       2     { dg-do compile }
       3     { dg-options "-Os -Wall" } */
       4  
       5  typedef __SIZE_TYPE__ size_t;
       6  
       7  extern size_t strnlen (const char*, size_t);
       8  
       9  size_t fi (int i)
      10  {
      11    int n = i & 3;
      12    return strnlen ("int", n);
      13  }
      14  
      15  size_t fui (unsigned i)
      16  {
      17    unsigned n = i & 3;
      18    return strnlen ("unsigned", n);
      19  }
      20  
      21  size_t fl (long i)
      22  {
      23    long n = i & 3;
      24    return strnlen ("long", n);
      25  }
      26  
      27  size_t fsz (size_t i)
      28  {
      29    size_t n = i & 3;
      30    return strnlen ("size_t", n);
      31  }