Commit 2e5b4448 by Andreas Schwab Committed by Jeff Law

* gcc.c-torture/compile/990517-1.c: New test.

From-SVN: r26963
parent 71a874cd
1999-05-17 Andreas Schwab <schwab@issan.cs.uni-dortmund.de> 1999-05-17 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
* execute/990326-1.c: Force bitfields to be aligned. * gcc.c-torture/compile/990517-1.c: New test.
* gcc.c-torture/execute/990326-1.c: Force bitfields to be aligned.
(e4, f4): New tests. (e4, f4): New tests.
(main): Call them. (main): Call them.
......
/* Extracted from the sdm module in perl. */
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;
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment