| /* PR c/104633 */ |
| /* { dg-do compile } */ |
| /* { dg-options "-Winfinite-recursion" } */ |
| |
| typedef __SIZE_TYPE__ size_t; |
| int memcmp (const void *, const void *, size_t); |
| __typeof (memcmp) __memcmp_alias __asm ("memcmp"); |
| |
| extern inline __attribute__((always_inline, gnu_inline)) int |
| memcmp (const void *p, const void *q, size_t size) /* { dg-bogus "infinite recursion detected" } */ |
| { |
| return __memcmp_alias (p, q, size); /* { dg-bogus "recursive call" } */ |
| } |
| |
| int |
| foo (const void *p, const void *q, size_t size) |
| { |
| return memcmp (p, q, size); |
| } |