#include <libc.h>
#endif
+#if defined(__LCLINT__)
+/*@-declundef -incondefs -redecl@*/ /* LCL: missing annotation */
+/*@only@*/ void * alloca (size_t __size)
+ /*@ensures MaxSet(result) == (__size - 1) @*/
+ /*@*/;
+/*@=declundef =incondefs =redecl@*/
+#endif
+
/* AIX requires this to be the first thing in the file. */
#ifndef __GNUC__
# if HAVE_ALLOCA_H
# ifdef _AIX
#pragma alloca
# else
-# ifndef alloca /* predefined by HP cc +Olibcalls */
+# if HAVE_ALLOCA
+# ifndef alloca /* predefined by HP cc +Olibcalls */
char *alloca ();
+# endif
+# else
+# ifdef alloca
+# undef alloca
+# endif
+# define alloca(sz) malloc(sz) /* Kludge this for now */
# endif
# endif
# endif
#define alloca __builtin_alloca
#endif
-/*@only@*/ char * xstrdup (const char *str);
+/*@-redecl -redef@*/
+/*@mayexit@*/ /*@only@*/ char * xstrdup (const char *str)
+ /*@*/;
+/*@=redecl =redef@*/
#if HAVE_MCHECK_H && defined(__GNUC__)
#define vmefail() (fprintf(stderr, "virtual memory exhausted.\n"), exit(EXIT_FAILURE), NULL)