mirror of
git://sourceware.org/git/newlib-cygwin.git
synced 2025-01-15 10:29:17 +08:00
0d844014bf
* configure.host: Add support for powerpc-eabialtivec*. * libc/include/malloc.h: Add include of <machine/malloc.h>. * libc/include/stdlib.h: Add include of <machine/stdlib.h>. * libc/include/machine/malloc.h: New file. * libc/include/machine/stdlib.h: Ditto. * libc/include/machine/setjmp.h: Add support for powerpc altivec. * libc/machine/powerpc/Makefile.am: Add conditional objects and sources based on configuration. * libc/machine/powerpc/Makefile.in: Regenerated. * libc/machine/powerpc/configure: Ditto. * libc/machine/powerpc/configure.in: Add check for powerpc-eabialtivec* in which case add in additional source files. * libc/machine/powerpc/setjmp.S: Add altivec support. * libc/machine/powerpc/vec_calloc.c: New file. * libc/machine/powerpc/vec_free.c: Ditto. * libc/machine/powerpc/vec_malloc.c: Ditto. * libc/machine/powerpc/vec_mallocr.c: Ditto. * libc/machine/powerpc/vec_realloc.c: Ditto. * libc/machine/powerpc/machine/malloc.h: Ditto. * libc/machine/powerpc/machine/stdlib.h: Ditto. * libc/machine/powerpc/vfprintf.c: New file that is vfprintf.c with added altivec format specifiers. * libc/machine/powerpc/vfscanf.c: New file that is vfscanf.c with added altivec format specifiers.
67 lines
1.4 KiB
C
67 lines
1.4 KiB
C
/*
|
|
FUNCTION
|
|
<<vec_calloc>>---allocate space for arrays
|
|
|
|
INDEX
|
|
vec_calloc
|
|
|
|
INDEX
|
|
_vec_calloc_r
|
|
|
|
ANSI_SYNOPSIS
|
|
#include <stdlib.h>
|
|
void *vec_calloc(size_t <[n]>, size_t <[s]>);
|
|
void *vec_calloc_r(void *<[reent]>, size_t <n>, <size_t> <[s]>);
|
|
|
|
TRAD_SYNOPSIS
|
|
#include <stdlib.h>
|
|
char *vec_calloc(<[n]>, <[s]>)
|
|
size_t <[n]>, <[s]>;
|
|
|
|
char *_vec_calloc_r(<[reent]>, <[n]>, <[s]>)
|
|
char *<[reent]>;
|
|
size_t <[n]>;
|
|
size_t <[s]>;
|
|
|
|
|
|
|
|
DESCRIPTION
|
|
Use <<vec_calloc>> to request a block of memory sufficient to hold an
|
|
array of <[n]> elements, each of which has size <[s]>.
|
|
|
|
The memory allocated by <<vec_calloc>> comes out of the same memory pool
|
|
used by <<vec_malloc>>, but the memory block is initialized to all zero
|
|
bytes. (To avoid the overhead of initializing the space, use
|
|
<<vec_malloc>> instead.)
|
|
|
|
The alternate function <<_vec_calloc_r>> is reentrant.
|
|
The extra argument <[reent]> is a pointer to a reentrancy structure.
|
|
|
|
RETURNS
|
|
If successful, a pointer to the newly allocated space.
|
|
|
|
If unsuccessful, <<NULL>>.
|
|
|
|
PORTABILITY
|
|
<<vec_calloc>> is an non-ANSI extension described in the AltiVec Programming
|
|
Interface Manual.
|
|
|
|
Supporting OS subroutines required: <<close>>, <<fstat>>, <<isatty>>,
|
|
<<lseek>>, <<read>>, <<sbrk>>, <<write>>.
|
|
*/
|
|
|
|
#include <string.h>
|
|
#include <stdlib.h>
|
|
|
|
#ifndef _REENT_ONLY
|
|
|
|
_PTR
|
|
_DEFUN (vec_calloc, (n, size),
|
|
size_t n _AND
|
|
size_t size)
|
|
{
|
|
return _vec_calloc_r (_REENT, n, size);
|
|
}
|
|
|
|
#endif
|