gcc/gcc/testsuite/gcc.dg/pr87112.c

32 lines
508 B
C

/* PR tree-optimization/87112 - ICE due to strnlen mixing integer types
{ dg-do compile }
{ dg-options "-Os -Wall" } */
typedef __SIZE_TYPE__ size_t;
extern size_t strnlen (const char*, size_t);
size_t fi (int i)
{
int n = i & 3;
return strnlen ("int", n);
}
size_t fui (unsigned i)
{
unsigned n = i & 3;
return strnlen ("unsigned", n);
}
size_t fl (long i)
{
long n = i & 3;
return strnlen ("long", n);
}
size_t fsz (size_t i)
{
size_t n = i & 3;
return strnlen ("size_t", n);
}