OSDN Git Service

* gcc.c-torture/compile/990517-1.c: New test.
authorlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 17 May 1999 01:47:29 +0000 (01:47 +0000)
committerlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 17 May 1999 01:47:29 +0000 (01:47 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@26963 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/testsuite/ChangeLog
gcc/testsuite/gcc.c-torture/compile/990517-1.c [new file with mode: 0644]

index ff2e800..e87f184 100644 (file)
@@ -1,6 +1,8 @@
 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.
        (main): Call them.
 
diff --git a/gcc/testsuite/gcc.c-torture/compile/990517-1.c b/gcc/testsuite/gcc.c-torture/compile/990517-1.c
new file mode 100644 (file)
index 0000000..c738d4b
--- /dev/null
@@ -0,0 +1,30 @@
+/* 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;
+       }
+}