Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/gcc.c-torture/compile/20020706-2.c @ 145:1830386684a0
gcc-9.2.0
author | anatofuz |
---|---|
date | Thu, 13 Feb 2020 11:34:05 +0900 |
parents | 04ced10e8804 |
children |
line wrap: on
line source
// Contributed by Alexandre Oliva <aoliva@redhat.com> // From Red Hat case 106165. /* { dg-require-effective-target indirect_calls } */ typedef unsigned short (FUNC_P) (void *, unsigned char *, unsigned short); void crashIt(int id, FUNC_P *func, unsigned char *funcparm) { unsigned char buff[5], reverse[4]; unsigned char *bp = buff; unsigned char *rp = reverse; unsigned short int count = 0; unsigned short cnt; while (id > 0) { *rp++ = (unsigned char) (id & 0x7F); id >>= 7; count++; } cnt = count + 1; while ((count--) > 1) { *bp++ = (unsigned char)(*(--rp) | 0x80); } *bp++ = *(--rp); (void)(*func)(funcparm, buff, cnt); }