]> git.ipfire.org Git - thirdparty/glibc.git/blame - stdio-common/tst-obprintf.c
[powerpc] No need to enter "Ignore Exceptions Mode"
[thirdparty/glibc.git] / stdio-common / tst-obprintf.c
CommitLineData
0c04b91e
UD
1#include <mcheck.h>
2#include <obstack.h>
3#include <stdio.h>
4#include <stdlib.h>
5
6
29955b5d
AS
7static int
8do_test (void)
0c04b91e
UD
9{
10 struct obstack ob;
11 int n;
12
13 mcheck_pedantic (NULL);
14
15#define obstack_chunk_alloc malloc
16#define obstack_chunk_free free
17
18 obstack_init (&ob);
19
45f52bde 20 for (n = 0; n < 40000; ++n)
0c04b91e
UD
21 {
22 mcheck_check_all ();
23 obstack_printf (&ob, "%.*s%05d", 1 + n % 7, "foobarbaz", n);
45f52bde
UD
24 if (n % 777 == 0)
25 obstack_finish (&ob);
0c04b91e
UD
26 }
27
22d5fbfe
UD
28 /* Another loop where we finish all objects, each of size 1. This will
29 manage to call `obstack_print' with all possible positions inside
30 an obstack chunk. */
31 for (n = 0; n < 40000; ++n)
32 {
33 mcheck_check_all ();
34 obstack_printf (&ob, "%c", 'a' + n % 26);
35 obstack_finish (&ob);
36 }
37
0c04b91e
UD
38 /* And a final check. */
39 mcheck_check_all ();
40
41 return 0;
42}
29955b5d
AS
43
44#define TEST_FUNCTION do_test ()
45#include "../test-skeleton.c"