void va_start (/*@out@*/ va_list ap, ...) /*@modifies ap;@*/ ;
void va_end (va_list va) /*@modifies va;@*/ ;
+void va_copy (/*@out@*/ va_list dest, va_list src) /*modifies dest;@*/ ;
+
/*
** va_arg is builtin
*/
/*@observer@*/ char *ctime (time_t *tp) /*@*/
/*@ensures maxSet(result) == 25 /\ maxRead(result) == 25; @*/;
-/*@null@*/ /*@observer@*/ struct tm *gmtime (time_t *tp) /*@*/ ;
+/* 2003-11-01: remove null annotation: gmtima and localtime cannot return null */
+/*@observer@*/ struct tm *gmtime (time_t *tp) /*@*/ ;
-/*@null@*/ /*@observer@*/ struct tm *localtime (time_t *tp)
+/*@observer@*/ struct tm *localtime (time_t *tp)
/*@modifies errno@*/ ;
size_t strftime (/*@out@*/ char *s, size_t smax,
typedef /*@unsignedintegraltype@*/ uint_fast32_t;
typedef /*@unsignedintegraltype@*/ uint_fast64_t;
-typedef int *intptr_t
+/* Corrections to intptr_t and uintptr_t decparations provided by David Sanderson */
+
+typedef /*@signedintegraltype@*/ intptr_t
/*@warn implementationoptional "ISO99 specifies as optional type, implementation need not provide."@*/ ;
-typedef unsigned int *uintptr_t
+typedef /*@unsignedintegraltype@*/ uintptr_t
/*@warn implementationoptional "ISO99 specifies as optional type, implementation need not provide."@*/ ;
typedef /*@signedintegraltype@*/ intmax_t;
/*@constant size_t INTPTR_MIN@*/
/*@constant size_t INTPTR_MAX@*/
-
-/*drl 3/5/2003
- added the __func__ identifier from C99
- This won't follow the same semantics as
- __func__ in C99
-
- FWIW C99 says that __func__ should have the value of the
- lexically enclosing function
- e.g. in the function foo __func__ == "foo"
- in bar __func__ == "bar"
-
- We're just having the value be constant here and picking
- an arbitary value.
-*/
-const char __func__[] = "function-name";