Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/gcc.c-torture/compile/990517-1.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
/* Extracted from the sdm module in perl. */ /* { dg-require-stack-size "12*2+8+1024+8" } */ typedef struct { char *dptr; int dsize; } datum; extern long sdbm_hash (char *, int) ; extern void sdbm__putpair (char *, datum, datum) ; void sdbm__splpage (char *pag, char *New, long int sbit) { datum key; datum val; register int n; register int off = 1024 ; char cur[1024 ]; register short *ino = (short *) cur; (void) memcpy(cur, pag, 1024 ); (void) ({ void *__s = ( pag ); __builtin_memset ( __s , '\0', 1024 ) ; __s; }); (void) ({ void *__s = ( New ); __builtin_memset ( __s , '\0', 1024 ) ; __s; }); n = ino[0]; for (ino++; n > 0; ino += 2) { key.dptr = cur + ino[0]; key.dsize = off - ino[0]; val.dptr = cur + ino[1]; val.dsize = ino[0] - ino[1]; (void) sdbm__putpair ((sdbm_hash(( key ).dptr, ( key ).dsize) & sbit) ? New : pag, key, val); off = ino[1]; n -= 2; } }