*** empty log message ***
[deliverable/binutils-gdb.git] / libiberty / alloca.c
index 822c1dc2307d8ff901f999795cef2782d270b12a..866344429df24d88bbc5f167e88987bc12da6c4d 100644 (file)
    allocating any.  It is a good idea to use alloca(0) in
    your main control loop, etc. to force garbage collection.  */
 
+/*
+
+@deftypefn Replacement void* alloca (size_t @var{size})
+
+This function allocates memory which will be automatically reclaimed
+after the procedure exits.  The @libib{} implementation does not free
+the memory immediately but will do so eventually during subsequent
+calls to this function.  Memory is allocated using @code{xmalloc} under
+normal circumstances.
+
+The header file @file{alloca-conf.h} can be used in conjunction with the
+GNU Autoconf test @code{AC_FUNC_ALLOCA} to test for and properly make
+available this function.  The @code{AC_FUNC_ALLOCA} test requires that
+client code use a block of preprocessor code to be safe (see the Autoconf
+manual for more); this header incorporates that logic and more, including
+the possibility of a GCC built-in function.
+
+@end deftypefn
+
+*/
+
 #ifdef HAVE_CONFIG_H
 #include <config.h>
 #endif
@@ -76,7 +97,7 @@ static int stack_dir;         /* 1 or -1 once known.  */
 #define        STACK_DIR       stack_dir
 
 static void
-find_stack_direction ()
+find_stack_direction (void)
 {
   static char *addr = NULL;    /* Address of first `dummy', once known.  */
   auto char dummy;             /* To get stack address.  */
@@ -129,9 +150,10 @@ static header *last_alloca_header = NULL;  /* -> last alloca header.  */
    caller, but that method cannot be made to work for some
    implementations of C, for example under Gould's UTX/32.  */
 
+/* @undocumented C_alloca */
+
 PTR
-C_alloca (size)
-     size_t size;
+C_alloca (size_t size)
 {
   auto char probe;             /* Probes stack depth: */
   register char *depth = ADDRESS_FUNCTION (probe);
This page took 0.030729 seconds and 4 git commands to generate.