Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'winsup/mingw/mingwex/tst-aligned-malloc.c')
-rwxr-xr-xwinsup/mingw/mingwex/tst-aligned-malloc.c90
1 files changed, 0 insertions, 90 deletions
diff --git a/winsup/mingw/mingwex/tst-aligned-malloc.c b/winsup/mingw/mingwex/tst-aligned-malloc.c
deleted file mode 100755
index 43ee734bc..000000000
--- a/winsup/mingw/mingwex/tst-aligned-malloc.c
+++ /dev/null
@@ -1,90 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <time.h>
-#include <string.h>
-#include <errno.h>
-#include <malloc.h>
-
-#ifdef HAVE_STDINT_H
-# include <stdint.h> /* uintptr_t */
-#else
-# define uintptr_t size_t
-#endif
-
-#define NELEM(a) (sizeof(a) / sizeof(a[0]))
-
-static int
-is_aligned (void *p, size_t alignment, size_t offset)
-{
- return !((((uintptr_t) p) + offset) & (alignment - 1));
-}
-
-#define MAX_SIZE (1 << sizeof(unsigned char))
-#define NP 1000
-#define NTST 100000U
-
-#define ERRMSG fprintf(stderr, "Iteration %u, align = %u, offset = %u, size = %u (oldsize = %u), errno = %d (%s)\n", i, align[j % NELEM(align)], offset[j % NELEM(offset)], size[j], oldsize, errno, strerror(errno))
-
-int
-main (void)
-{
- unsigned char *p[NP];
- size_t size[NP];
- size_t align[] = { 2, 4, 8, 16, 32, 64 };
- size_t offset[20];
- unsigned i;
-
- srand (time (NULL));
-
- for (i = 0; i < NELEM (p); ++i)
- {
- p[i] = 0;
- size[i] = 0;
- }
-
- for (i = 0; i < NELEM (offset); ++i)
- offset[i] = rand () % 512;
-
- for (i = 0; i < NTST; ++i)
- {
- size_t oldsize;
- unsigned j, k;
- j = rand () % NELEM (p);
- oldsize = size[j];
- p[j] = __mingw_aligned_offset_realloc (p[j],
- size[j] = rand () % MAX_SIZE,
- align[j % NELEM (align)],
- offset[j % NELEM (offset)]);
-
- if (size[j] && !p[j])
- {
- fprintf (stderr, "Returned NULL!\n");
- ERRMSG;
- return EXIT_FAILURE;
- }
- if (size[j] && !is_aligned (p[j],
- align[j % NELEM (align)],
- offset[j % NELEM (offset)]))
- {
- fprintf (stderr, "Misaligned block!\n");
- ERRMSG;
- return EXIT_FAILURE;
- }
- if (oldsize > size[j])
- oldsize = size[j];
- for (k = 0; k < oldsize; ++k)
- if (p[j][k] != k)
- {
- fprintf (stderr, "Miscopied block!\n");
- ERRMSG;
- return EXIT_FAILURE;
- }
- for (k = 0; k < size[j]; ++k)
- p[j][k] = k;
- }
-
- for (i = 0; i < NELEM (p); ++i)
- __mingw_aligned_free (p[i]);
-
- return EXIT_SUCCESS;
-}