1 /* { dg-add-options stack_size } */
3 extern void exit (int);
4 extern void abort (void);
6 typedef unsigned int u_int32_t
;
7 typedef unsigned char u_int8_t
;
17 struct __db_lsn
; typedef struct __db_lsn DB_LSN
;
22 struct __db_txnlist
; typedef struct __db_txnlist DB_TXNLIST
;
26 struct { struct __db_txnlist
*le_next
; struct __db_txnlist
**le_prev
; } links
;
57 int log_compare (const DB_LSN
*a
, const DB_LSN
*b
)
64 __db_txnlist_lsnadd(int val
, DB_TXNLIST
*elp
, DB_LSN
*lsnp
, u_int32_t flags
)
68 for (i
= 0; i
< (!(flags
& (0x1)) ? 1 : elp
->u
.l
.ntxns
); i
++)
73 for (__j
= 0; __j
< elp
->u
.l
.ntxns
- 1; __j
++)
74 if (log_compare(&elp
->u
.l
.lsn_array
[__j
], &elp
->u
.l
.lsn_array
[__j
+ 1]) < 0)
76 __tmp
= elp
->u
.l
.lsn_array
[__j
];
77 elp
->u
.l
.lsn_array
[__j
] = elp
->u
.l
.lsn_array
[__j
+ 1];
78 elp
->u
.l
.lsn_array
[__j
+ 1] = __tmp
;
82 *lsnp
= elp
->u
.l
.lsn_array
[0];
86 #if defined (STACK_SIZE) && STACK_SIZE < 12350
87 #define VLEN (STACK_SIZE/10)
95 DB_LSN lsn
, lsn_a
[VLEN
];
97 el
.u
.l
.ntxns
= VLEN
-1;
98 el
.u
.l
.lsn_array
= lsn_a
;
100 if (__db_txnlist_lsnadd (0, &el
, &lsn
, 0) != 1)
103 if (__db_txnlist_lsnadd (0, &el
, &lsn
, 1) != VLEN
-1)