myprefix=$prefix
test x$myprefix = xNONE && myprefix=$ac_default_prefix
+### Yuck! This is really kludgey, but I don't understand autoconf well
+### enough to do something simple that always works. Hopefully this does.
+
# cpplib.h defines 2 include dirs; one is $includedir, the other is gcc's
# include dir. Not the most portable setup, but let's do our best.
-if test x$ac_cv_c_compiler_gnu = xyes; then
+
+if test x$GCC = xyes; then
# This breaks on gcc-3.0 on redhat fixing drl 11-15-2001
# GCC_INCLUDE_DIR=`LANGUAGE= LANG= $CC -v 2>&1 | sed -e '/^gcc/ d' -e 's/.* \(.*\)specs/\1include/'`
#define GCC_INCLUDE_DIR "$GCC_INCLUDE_DIR"
EOF
+else
+
+cat >>confdefs.h <<EOF
+#define GCC_INCLUDE_DIR "/usr/include"
+EOF
+
fi
cat >>confdefs.h <<EOF
}'
fi
-DEFS=-DHAVE_CONFIG_H
+DEFS=-DHAVE_CONFIG_H
: ${CONFIG_STATUS=./config.status}
ac_clean_files_save=$ac_clean_files
ac_clean_files="$ac_clean_files $CONFIG_STATUS"
-{ echo "$as_me:3257: creating $CONFIG_STATUS" >&5
+{ echo "$as_me:3267: creating $CONFIG_STATUS" >&5
echo "$as_me: creating $CONFIG_STATUS" >&6;}
cat >$CONFIG_STATUS <<_ACEOF
#! $SHELL
echo "$ac_cs_version"; exit 0 ;;
--he | --h)
# Conflict between --help and --header
- { { echo "$as_me:3433: error: ambiguous option: $1
+ { { echo "$as_me:3443: error: ambiguous option: $1
Try \`$0 --help' for more information." >&5
echo "$as_me: error: ambiguous option: $1
Try \`$0 --help' for more information." >&2;}
ac_need_defaults=false;;
# This is an error.
- -*) { { echo "$as_me:3452: error: unrecognized option: $1
+ -*) { { echo "$as_me:3462: error: unrecognized option: $1
Try \`$0 --help' for more information." >&5
echo "$as_me: error: unrecognized option: $1
Try \`$0 --help' for more information." >&2;}
"bin/Makefile" ) CONFIG_FILES="$CONFIG_FILES bin/Makefile" ;;
"default-1" ) CONFIG_COMMANDS="$CONFIG_COMMANDS default-1" ;;
"config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS config.h:config.hin" ;;
- *) { { echo "$as_me:3506: error: invalid argument: $ac_config_target" >&5
+ *) { { echo "$as_me:3516: error: invalid argument: $ac_config_target" >&5
echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
{ (exit 1); exit 1; }; };;
esac
esac
if test x"$ac_file" != x-; then
- { echo "$as_me:3756: creating $ac_file" >&5
+ { echo "$as_me:3766: creating $ac_file" >&5
echo "$as_me: creating $ac_file" >&6;}
rm -f "$ac_file"
fi
-) echo $tmp/stdin ;;
[\\/$]*)
# Absolute (can't be DOS-style, as IFS=:)
- test -f "$f" || { { echo "$as_me:3774: error: cannot find input file: $f" >&5
+ test -f "$f" || { { echo "$as_me:3784: error: cannot find input file: $f" >&5
echo "$as_me: error: cannot find input file: $f" >&2;}
{ (exit 1); exit 1; }; }
echo $f;;
echo $srcdir/$f
else
# /dev/null tree
- { { echo "$as_me:3787: error: cannot find input file: $f" >&5
+ { { echo "$as_me:3797: error: cannot find input file: $f" >&5
echo "$as_me: error: cannot find input file: $f" >&2;}
{ (exit 1); exit 1; }; }
fi;;
* ) ac_file_in=$ac_file.in ;;
esac
- test x"$ac_file" != x- && { echo "$as_me:3848: creating $ac_file" >&5
+ test x"$ac_file" != x- && { echo "$as_me:3858: creating $ac_file" >&5
echo "$as_me: creating $ac_file" >&6;}
# First look for the input files in the build tree, otherwise in the
-) echo $tmp/stdin ;;
[\\/$]*)
# Absolute (can't be DOS-style, as IFS=:)
- test -f "$f" || { { echo "$as_me:3859: error: cannot find input file: $f" >&5
+ test -f "$f" || { { echo "$as_me:3869: error: cannot find input file: $f" >&5
echo "$as_me: error: cannot find input file: $f" >&2;}
{ (exit 1); exit 1; }; }
echo $f;;
echo $srcdir/$f
else
# /dev/null tree
- { { echo "$as_me:3872: error: cannot find input file: $f" >&5
+ { { echo "$as_me:3882: error: cannot find input file: $f" >&5
echo "$as_me: error: cannot find input file: $f" >&2;}
{ (exit 1); exit 1; }; }
fi;;
rm -f $tmp/in
if test x"$ac_file" != x-; then
if cmp -s $ac_file $tmp/config.h 2>/dev/null; then
- { echo "$as_me:3989: $ac_file is unchanged" >&5
+ { echo "$as_me:3999: $ac_file is unchanged" >&5
echo "$as_me: $ac_file is unchanged" >&6;}
else
ac_dir=`$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
typedef /*@integraltype@*/ timer_t;
typedef /*@unsignedintegraltype@*/ useconds_t;
- /*-------------------------------------------------------------
- -------------------------------------------------------------
- */
-
-
/*
** Extra stuff in some unixen, not in posix.
*/
typedef long segsz_t;
typedef /*@abstract@*/ fd_set;
-int ttyname_r (int fg, /*@out@*/ char *buffer, int len) /*@modifies buffer@*/ ;
int ioctl (int d, int /*@alt long@*/ request, /*@out@*/ void *arg)
/*@modifies *arg, errno@*/ ; /* depends on request! */
lchown (const char *path, uid_t owner, gid_t group)
/*@modifies errno, fileSystem@*/;
- extern int
-readlink (const char *path, /*@out@*/ char *buf, int size)
- /*@modifies *buf, errno@*/
- /*drl 10/27/001*/
- /*@requires maxSet(buf) >= (size - 1) @*/
- /*@ensures result <= size @*/;
-
extern int
select (int mfd, fd_set /*@null@*/ *r, fd_set /*@null@*/ *w, fd_set /*@null@*/ *e, struct timeval *t)
/*@modifies *r, *w, *e, *t, errno@*/;
/* in POSIX: chmod, fstat, mkdir, mkfifo, stat, umask */
int lstat(const char *, /*@out@*/ struct stat *)
- /*:errorcode -1:*/
- /*@modifies errno@*/ ;
-
+ /*:errorcode -1:*/
+ /*@modifies errno@*/ ;
+
int mknod (const char *, mode_t, dev_t)
/*@warn portability "The only portable use of mknod is to create FIFO-special file. If mode is not S_IFIFO or dev is not 0, the behaviour of mknod() is unspecified."@*/
/*:errorcode -1:*/
/*@warn unixstandard "Not in Single UNIX Specification Version 2"@*/
/*@modifies fileSystem, errno@*/;
+/* evans 2002-03-17: this was missing, reported by Ralf Wildenhues */
+int fchmod(int fildes, mode_t mode)
+ /*@modifies fileSystem, errno@*/ ;
+
+/*
+** sys/statvfs.h
+** from http://www.opengroup.org/onlinepubs/007908799/xsh/sysstatvfs.h.html
+*/
+
+struct statvfs {
+ unsigned long f_bsize;
+ unsigned long f_frsize;
+ fsblkcnt_t f_blocks;
+ fsblkcnt_t f_bfree;
+ fsblkcnt_t f_bavail;
+ fsfilcnt_t f_files;
+ fsfilcnt_t f_ffree;
+ fsfilcnt_t f_favail;
+ unsigned long f_fsid;
+ unsigned long f_flag;
+ unsigned long f_namemax;
+} ;
+
+/*@constant unsigned long ST_RDONLY; @*/
+/*@constant unsigned long ST_NOSUID; @*/
+
+int fstatvfs (int fildes, /*@out@*/ struct statvfs *buf)
+ /*@modifies buf@*/ ;
+
+int statvfs (const char *path, /*@out@*/ struct statvfs *buf)
+ /*@modifies buf@*/ ;
+
+
/*________________________________________________________________________
* stropts.h
*/
/*
** unistd.h
+** from http://www.opengroup.org/onlinepubs/007908799/xsh/unistd.h.html
*/
+/*@constant int _POSIX_VERSION@*/
+/*@constant int _POSIX2_VERSION@*/
+/*@constant int _POSIX2_C_VERSION@*/
+/*@constant int _XOPEN_VERSION@*/
+/*@constant int _XOPEN_XCU_VERSION@*/
+
+/* for access: */
+
+/*@constant int R_OK@*/
+/*@constant int W_OK@*/
+/*@constant int X_OK@*/
+/*@constant int F_OK@*/
+
+/* for confstr: */
+/*@constant int _CS_PATH@*/
+/*@constant int _CS_XBS5_ILP32_OFF32_CFLAGS@*/
+/*@constant int _CS_XBS5_ILP32_OFF32_LDFLAGS@*/
+/*@constant int _CS_XBS5_ILP32_OFF32_LIBS@*/
+/*@constant int _CS_XBS5_ILP32_OFF32_LINTFLAGS@*/
+/*@constant int _CS_XBS5_ILP32_OFFBIG_CFLAGS@*/
+/*@constant int _CS_XBS5_ILP32_OFFBIG_LDFLAGS@*/
+/*@constant int _CS_XBS5_ILP32_OFFBIG_LIBS@*/
+/*@constant int _CS_XBS5_ILP32_OFFBIG_LINTFLAGS@*/
+/*@constant int _CS_XBS5_LP64_OFF64_CFLAGS@*/
+/*@constant int _CS_XBS5_LP64_OFF64_LDFLAGS@*/
+/*@constant int _CS_XBS5_LP64_OFF64_LIBS@*/
+/*@constant int _CS_XBS5_LP64_OFF64_LINTFLAGS@*/
+/*@constant int _CS_XBS5_LPBIG_OFFBIG_CFLAGS@*/
+/*@constant int _CS_XBS5_LPBIG_OFFBIG_LDFLAGS@*/
+/*@constant int _CS_XBS5_LPBIG_OFFBIG_LIBS@*/
+/*@constant int _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS@*/
+
+/* name parameters to sysconf: */
+
+/*@constant int _SC_2_C_BIND@*/
+/*@constant int _SC_2_C_DEV@*/
+/*@constant int _SC_2_C_VERSION@*/
+/*@constant int _SC_2_FORT_DEV@*/
+/*@constant int _SC_2_FORT_RUN@*/
+/*@constant int _SC_2_LOCALEDEF@*/
+/*@constant int _SC_2_SW_DEV@*/
+/*@constant int _SC_2_UPE@*/
+/*@constant int _SC_2_VERSION@*/
+/*@constant int _SC_ARG_MAX@*/
+/*@constant int _SC_AIO_LISTIO_MAX@*/
+/*@constant int _SC_AIO_MAX@*/
+/*@constant int _SC_AIO_PRIO_DELTA_MAX@*/
+/*@constant int _SC_ASYNCHRONOUS_IO@*/
+/*@constant int _SC_ATEXIT_MAX@*/
+/*@constant int _SC_BC_BASE_MAX@*/
+/*@constant int _SC_BC_DIM_MAX@*/
+/*@constant int _SC_BC_SCALE_MAX@*/
+/*@constant int _SC_BC_STRING_MAX@*/
+/*@constant int _SC_CHILD_MAX@*/
+/*@constant int _SC_CLK_TCK@*/
+/*@constant int _SC_COLL_WEIGHTS_MAX@*/
+/*@constant int _SC_DELAYTIMER_MAX@*/
+/*@constant int _SC_EXPR_NEST_MAX@*/
+/*@constant int _SC_FSYNC@*/
+/*@constant int _SC_GETGR_R_SIZE_MAX@*/
+/*@constant int _SC_GETPW_R_SIZE_MAX@*/
+/*@constant int _SC_IOV_MAX@*/
+/*@constant int _SC_JOB_CONTROL@*/
+/*@constant int _SC_LINE_MAX@*/
+/*@constant int _SC_LOGIN_NAME_MAX@*/
+/*@constant int _SC_MAPPED_FILES@*/
+/*@constant int _SC_MEMLOCK@*/
+/*@constant int _SC_MEMLOCK_RANGE@*/
+/*@constant int _SC_MEMORY_PROTECTION@*/
+/*@constant int _SC_MESSAGE_PASSING@*/
+/*@constant int _SC_MQ_OPEN_MAX@*/
+/*@constant int _SC_MQ_PRIO_MAX@*/
+/*@constant int _SC_NGROUPS_MAX@*/
+/*@constant int _SC_OPEN_MAX@*/
+/*@constant int _SC_PAGESIZE@*/
+/*@constant int _SC_PAGE_SIZE@*/
+/*@constant int _SC_PASS_MAX@*/
+/*@constant int _SC_PRIORITIZED_IO@*/
+/*@constant int _SC_PRIORITY_SCHEDULING@*/
+/*@constant int _SC_RE_DUP_MAX@*/
+/*@constant int _SC_REALTIME_SIGNALS@*/
+/*@constant int _SC_RTSIG_MAX@*/
+/*@constant int _SC_SAVED_IDS@*/
+/*@constant int _SC_SEMAPHORES@*/
+/*@constant int _SC_SEM_NSEMS_MAX@*/
+/*@constant int _SC_SEM_VALUE_MAX@*/
+/*@constant int _SC_SHARED_MEMORY_OBJECTS@*/
+/*@constant int _SC_SIGQUEUE_MAX@*/
+/*@constant int _SC_STREAM_MAX@*/
+/*@constant int _SC_SYNCHRONIZED_IO@*/
+/*@constant int _SC_THREADS@*/
+/*@constant int _SC_THREAD_ATTR_STACKADDR@*/
+/*@constant int _SC_THREAD_ATTR_STACKSIZE@*/
+/*@constant int _SC_THREAD_DESTRUCTOR_ITERATIONS@*/
+/*@constant int _SC_THREAD_KEYS_MAX@*/
+/*@constant int _SC_THREAD_PRIORITY_SCHEDULING@*/
+/*@constant int _SC_THREAD_PRIO_INHERIT@*/
+/*@constant int _SC_THREAD_PRIO_PROTECT@*/
+/*@constant int _SC_THREAD_PROCESS_SHARED@*/
+/*@constant int _SC_THREAD_SAFE_FUNCTIONS@*/
+/*@constant int _SC_THREAD_STACK_MIN@*/
+/*@constant int _SC_THREAD_THREADS_MAX@*/
+/*@constant int _SC_TIMERS@*/
+/*@constant int _SC_TIMER_MAX@*/
+/*@constant int _SC_TTY_NAME_MAX@*/
+/*@constant int _SC_TZNAME_MAX@*/
+/*@constant int _SC_VERSION@*/
+/*@constant int _SC_XOPEN_VERSION@*/
+/*@constant int _SC_XOPEN_CRYPT@*/
+/*@constant int _SC_XOPEN_ENH_I18N@*/
+/*@constant int _SC_XOPEN_SHM@*/
+/*@constant int _SC_XOPEN_UNIX@*/
+/*@constant int _SC_XOPEN_XCU_VERSION@*/
+/*@constant int _SC_XOPEN_LEGACY@*/
+/*@constant int _SC_XOPEN_REALTIME@*/
+/*@constant int _SC_XOPEN_REALTIME_THREADS@*/
+/*@constant int _SC_XBS5_ILP32_OFF32@*/
+/*@constant int _SC_XBS5_ILP32_OFFBIG@*/
+/*@constant int _SC_XBS5_LP64_OFF64@*/
+/*@constant int _SC_XBS5_LPBIG_OFFBIG@*/
+
+
+int access(const char *, int) /*@modifies errno@*/ /*:errorcode -1:*/ ;
+unsigned int alarm (unsigned int) /*@modifies internalState@*/ ;
+
+int brk(void *)
+ /*@modifies errno@*/
+ /*:errorcode -1:*/
+ /*@warn legacy "brk is obsolete"@*/ ;
+
+int chdir (const char *)
+ /*@modifies internalState, errno@*/
+ /*:errorcode -1:*/ ;
+
+int chown (const char *, uid_t, gid_t)
+ /*@modifies internalState, errno@*/
+ /*:errorcode -1:*/ ;
+
+int close (int)
+ /*@modifies internalState, errno@*/
+ /*:errorcode -1:*/ ;
+
+size_t confstr(int, /*@null@*/ char *, size_t)
+ /*@globals internalState@*/
+ /*@modifies errno@*/
+ /*:errorcode 0:*/ ;
+
+/*@dependent@*/ /*@null@*/ char *crypt(const char *, const char *)
+ /*@modifies errno, internalState@*/ ;
+
+/*@dependent@*/ /*@null@*/ char *ctermid(/*@returned@*/ /*@null@*/ /*@out@*/ char *s)
+ /*@modifies s@*/ ;
+
+/*@null@*/ /*@dependent@*/ char *cuserid (/*@null@*/ /*@returned@*/ char *s)
+ /*@warn legacy "cuserid is obsolete"@*/
+ /*@modifies s@*/ ;
+
+int dup(int)
+ /*@modifies errno, internalState@*/
+ /*:errorcode -1:*/ ;
+
+int dup2(int, int)
+ /*@modifies errno, internalState@*/
+ /*:errorcode -1:*/ ;
+
+void encrypt(char p_block[], int)
+ /*@requires maxSet(p_block) == 63@*/
+ /*@modifies p_block, errno@*/ ;
+
+extern char **environ;
+
+int execl (const char *, const char *, ...)
+ /*@modifies errno, internalState@*/
+ /*:errorcode -1:*/ ;
+
+int execle(const char *, const char *, ...)
+ /*@modifies errno, internalState@*/
+ /*:errorcode -1:*/ ;
+
+int execlp(const char *, const char *, ...)
+ /*@modifies errno, internalState@*/
+ /*:errorcode -1:*/ ;
+
+int execv(const char *, char *const [])
+ /*@modifies errno, internalState@*/
+ /*:errorcode -1:*/ ;
+
+int execve(const char *, char *const [], char *const [])
+ /*@modifies errno, internalState@*/
+ /*:errorcode -1:*/ ;
+
+int execvp(const char *, char *const [])
+ /*@modifies errno, internalState@*/
+ /*:errorcode -1:*/ ;
+
+/*@exits@*/ void _exit (int);
+
+int fchown (int, uid_t, gid_t)
+ /*@modifies errno, fileSystem@*/
+ /*:errorcode -1:*/ ;
+
+int fchdir (int)
+ /*@modifies errno, fileSystem@*/
+ /*:errorcode -1:*/ ;
+
+int fdatasync (int)
+ /*@modifies errno, fileSystem@*/
+ /*:errorcode -1:*/ ;
+
+pid_t fork (void)
+ /*@modifies errno, internalState@*/
+ /*:errorcode -1:*/ ;
+
+long int fpathconf(int, int)
+ /*@modifies errno, internalState@*/
+ /*:errorcode -1:*/ ;
+
+int fsync(int)
+ /*@modifies errno, fileSystem@*/
+ /*:errorcode -1:*/ ;
+
+int ftruncate(int, off_t)
+ /*@modifies errno, fileSystem@*/
+ /*:errorcode -1:*/ ;
+
+/*@null@*/ char *getcwd (/*@returned@*/ char *buf, size_t size)
+ /*@requires maxSet(buf) >= size;@*/
+ /*@modifies errno@*/ ;
+
+int getdtablesize (void)
+ /*@warn legacy "getdtablesize is obsolete"@*/ ;
+
+gid_t getegid (void) /*@globals internalState*/ ;
+uid_t geteuid (void) /*@globals internalState*/ ;
+gid_t getgid (void) /*@globals internalState*/ ;
+
+int getgroups (int gidsetsize, gid_t grouplist[])
+ /*@requires maxSet(grouplist) >= gidsetsize@*/
+ /*@modifies errno@*/
+ /*:errorcode -1:*/ ;
+
+long gethostid (void) /*@globals internalState@*/ ;
+
+/*@null@*/ /*@dependent@*/ char *getlogin (void)
+ /*@modifies errno@*/ ;
+
+int getlogin_r (char *name, size_t namesize)
+ /*@requires maxSet(name) >= namesize@*/
+ /*:errorcode !0:*/ ;
+
+extern char *optarg;
+extern int optind;
+extern int opterr;
+extern int optopt;
+
+int getopt(int, char * const [], const char *)
+ /*@modifies optind, opterr, optopt, errno@*/
+ /*:errorcode -1:*/ ;
+
+int getpagesize(void)
+ /*@warn legacy "getpagesize is obsolete"@*/ ;
+
+/*@dependent@*/ /*@null@*/ char *getpass(/*@nullterminated@*/ const char *)
+ /*@warn legacy "getpass is obsolete"@*/ ;
+
+pid_t getpgid(pid_t)
+ /*@modifies errno@*/
+ /*@globals internalState@*/
+ /*:errorcode (pid_t)-1:*/ ;
+
+pid_t getpgrp(void) /*@globals internalState*/ ;
+
+pid_t getpid(void) /*@globals internalState*/ ;
+pid_t getppid(void) /*@globals internalState*/ ;
+
+pid_t getsid(pid_t)
+ /*@modifies errno@*/
+ /*@globals internalState@*/
+ /*:errorcode (pid_t)-1:*/ ;
+
+uid_t getuid(void) /*@globals internalState@*/ ;
+
+/*@null@*/ char *getwd (/*@returned@*/ char *path_name)
+ /*@modifies path_name@*/ ;
+
+int isatty(int)
+ /*@globals internalState@*/
+ /*@modifies errno@*/
+ /*:errorcode 0:*/ ;
+
+int lchown(const char *, uid_t, gid_t)
+ /*@modifies errno, fileSystem@*/
+ /*:errorcode -1:*/ ;
+
+int link(const char *, const char *)
+ /*@modifies errno, fileSystem@*/
+ /*:errorcode -1:*/ ;
+
+int lockf(int, int, off_t)
+ /*@modifies errno, fileSystem@*/
+ /*:errorcode -1:*/ ;
+
+off_t lseek(int, off_t, int)
+ /*@modifies errno, fileSystem@*/
+ /*:errorcode (off_t)-1:*/ ;
+
+int nice(int)
+ /*@modifies errno, fileSystem@*/
+ /*:errorcode -1:*/ ;
+
+long int pathconf(const char *, int)
+ /*@modifies errno, internalState@*/
+ /*:errorcode -1:*/ ;
+
+int pause(void)
+ /*@modifies errno, internalState@*/
+ /*:errorcode -1:*/ ;
+
+int pipe(int p[])
+ /*@requires maxRead(p) == 1@*/
+ /*@modifies errno, fileSystem@*/
+ /*:errorcode -1:*/ ;
+
+ssize_t pread(int, /*@out@*/ void *buf, size_t nbyte, off_t offset)
+ /*@modifies errno, fileSystem@*/
+ /*@requires maxSet(buf) >= (nbyte - 1) @*/
+ /*@ensures maxRead(buf) >= nbyte @*/
+ /*:errorcode -1:*/ ;
+
+int pthread_atfork(void (*)(void), void (*)(void), void(*)(void))
+ /*@modifies errno, fileSystem@*/
+ /*:errorcode !0:*/ ;
+
+ssize_t pwrite(int, const void *buf, size_t nbyte, off_t)
+ /*@requires maxRead(buf) >= nbyte@*/
+ /*@modifies errno, fileSystem@*/
+ /*:errorcode -1:*/ ;
+
+/* ssize_t read(int, void *, size_t); in posix.h */
+
+int readlink(const char *, char *buf, size_t bufsize)
+ /*@requires maxSet(buf) >= (bufsize - 1)@*/
+ /*@modifies errno, fileSystem, *buf@*/
+ /*:errorcode -1:*/ ;
+
+/* int rmdir(const char *); in posix.h */
+
+void *sbrk(intptr_t)
+ /*@modifies errno@*/
+ /*:errorcode (void *)-1:*/
+ /*@warn legacy "sbrk is obsolete"@*/ ;
+
+ /* int setgid(gid_t);
+ int setpgid(pid_t, pid_t);
+ */
+
+pid_t setpgrp(void) /*@modifies internalState@*/ ;
+
+int setregid(gid_t, gid_t)
+ /*@modifies errno, internalState@*/
+ /*:errorcode -1:*/ ;
+
+int setreuid(uid_t, uid_t)
+ /*@modifies errno, internalState@*/
+ /*:errorcode -1:*/ ;
+
+pid_t setsid(void)
+ /*@modifies errno, internalState@*/
+ /*:errorcode (pid_t) -1:*/ ;
+
+int setuid(uid_t)
+ /*@modifies errno, internalState@*/
+ /*:errorcode -1:*/ ;
+
+unsigned int sleep(unsigned int)
+ /*@modifies systemState@*/ ;
+
+void swab(/*@unique@*/ const void *src, /*@unique@*/ void *dest, ssize_t nbytes)
+ /*@requires maxSet(dest) >= (nbytes - 1)@*/ ;
+
+int symlink(const char *, const char *)
+ /*@modifies errno, fileSystem@*/
+ /*:errorcode -1:*/ ;
+
+void sync(void) /*@modifies systemState@*/ ;
+
+long int sysconf(int)
+ /*@modifies errno, systemState@*/
+ /*:errorcode -1:*/ ;
+
+pid_t tcgetpgrp(int)
+ /*@globals systemState@*/
+ /*@modifies errno@*/
+ /*:errorcode -1:*/ ;
+
+int tcsetpgrp(int, pid_t)
+ /*@modifies errno, systemState@*/
+ /*:errorcode -1:*/ ;
+
+int truncate(const char *, off_t)
+ /*@modifies errno, fileSystem@*/
+ /*:errorcode -1:*/ ;
+
+/*@dependent@*/ /*@null@*/ char *ttyname(int)
+ /*@globals systemState@*/
+ /*@modifies errno@*/
+ /*:errorcode -1:*/ ;
+
+int ttyname_r(int, char *name, size_t namesize)
+ /*@requires maxSet(name) >= (namesize - 1)@*/ ;
+ /*:errorcode !0:*/ ;
+
+useconds_t ualarm(useconds_t, useconds_t)
+ /*@modifies systemState@*/ ;
+
+int unlink(const char *)
+ /*@modifies fileSystem, errno@*/
+ /*:errorcode -1:*/ ;
+
+int usleep(useconds_t)
+ /*@modifies fileSystem, errno@*/
+ /*:errorcode -1:*/ ;
+
+pid_t vfork(void)
+ /*@modifies fileSystem, errno@*/
+ /*:errorcode -1:*/ ;
+
+ /* in posix.h ssize_t write(int, const void *, size_t); */
+
+
int chroot (/*@notnull@*/ /*@nullterminated@*/ const char *path)
- /*:statusreturn@*/
- /*@warn superuser "Only super-user processes may call chroot."@*/
- /*: other wanings? */ ;
+ /*@modifies internalState, errno@*/
+ /*:errorcode -1:*/
+ /*@warn superuser "Only super-user processes may call chroot."@*/ ;
int fchroot (int fildes)
/*:statusreturn@*/
/*@warn superuser "Only super-user processes may call fchroot."@*/ ;
+
/*
** ctype.h
**
if (uentry_isRealFunction (ue))
{
uentryList params = uentry_getParams (ue);
+ int paramno = 0;
uentryList_elements (params, current)
{
+ paramno++;
+
if (uentry_isValid (current))
{
ctype ct = current->utype;
}
else
{
- voptgenerror
- (FLG_FIXEDFORMALARRAY,
- message ("Function parameter %q declared as "
- "manifest array (size constant is meaningless)",
- uentry_getName (current)),
- uentry_whereDeclared (current));
+ if (uentry_hasName (current))
+ {
+ voptgenerror
+ (FLG_FIXEDFORMALARRAY,
+ message ("Function parameter %q declared as "
+ "manifest array (size constant is meaningless)",
+ uentry_getName (current)),
+ uentry_whereDeclared (current));
+ }
+ else
+ {
+ voptgenerror
+ (FLG_FIXEDFORMALARRAY,
+ message ("Unnamed function parameter %d declared as "
+ "manifest array (size constant is meaningless)",
+ paramno),
+ uentry_whereDeclared (current));
+ }
}
}
else
{
if (ctype_isArray (ct))
{
- voptgenerror
- (FLG_FORMALARRAY,
- message ("Function parameter %q declared as "
- "array (treated as pointer)",
- uentry_getName (current)),
- uentry_whereDeclared (current));
+ if (uentry_hasName (current))
+ {
+ voptgenerror
+ (FLG_FORMALARRAY,
+ message ("Function parameter %q declared as "
+ "array (treated as pointer)",
+ uentry_getName (current)),
+ uentry_whereDeclared (current));
+ }
+ else
+ {
+ voptgenerror
+ (FLG_FORMALARRAY,
+ message ("Unnamed function parameter %d declared as "
+ "array (treated as pointer)",
+ paramno),
+ uentry_whereDeclared (current));
+ }
}
}
}
void
-uentry_setGlobals (uentry ue, /*@owned@*/ globSet globs)
+uentry_setGlobals (uentry ue, /*@only@*/ globSet globs)
{
llassert (uentry_isValid (ue));
+ globSet_markImmutable (globs);
+
if (uentry_isIter (ue))
{
- llassert (globSet_isUndefined (ue->info->iter->globs));
- ue->info->iter->globs = globs;
+ ue->info->iter->globs = globSet_unionFree (ue->info->iter->globs, globs);
}
else
{
uentry_convertVarFunction (ue);
-
llassert (uentry_isFunction (ue));
- llassert (!ue->info->fcn->hasGlobs
- && globSet_isUndefined (ue->info->fcn->globs));
-
- ue->info->fcn->hasGlobs = TRUE;
- globSet_markImmutable (globs);
- /*@-mustfree@*/ ue->info->fcn->globs = globs;
- /*@=mustfree@*/
- }
- /*@i23*/
- /* ??? - evans 2001-09-09 not sure what's going on here...?
- if (globSet_hasStatic (globs))
- {
- context_recordFileGlobals (globs);
+ ue->info->fcn->hasGlobs = TRUE;
+ ue->info->fcn->globs = globSet_unionFree (ue->info->fcn->globs, globs);
}
- */
if (context_getFlag (FLG_GLOBALSIMPMODIFIESNOTHING))
{
*/
static void
- branchStateError (/*@notnull@*/ uentry res, /*@notnull@*/ uentry other,
- bool flip, clause cl, fileloc loc)
+branchStateError (/*@notnull@*/ uentry res, /*@notnull@*/ uentry other,
+ bool flip, clause cl, fileloc loc)
{
if (optgenerror
(FLG_BRANCHSTATE,
if (sRef_isDead (res->sref))
{
sRef_showStateInfo (res->sref);
+ sRef_showStateInfo (other->sref);
}
else if (sRef_isKept (res->sref))
{
sRef_showAliasInfo (res->sref);
+ sRef_showAliasInfo (other->sref);
}
else /* dependent */
{