bool.h
bool.h
#ifndef BOOL_H
#define BOOL_H
#include <assert.h>
#ifndef FALSE
#define FALSE 0
#endif
#ifndef TRUE
#define TRUE (!FALSE)
#endif
typedef int bool;
/*
** bool_initMod has no real effect
** Declared with modifies internalState, so no noeffect errors are
** reported when it is called.)
*/
extern /*@unused@*/ void bool_initMod (void)
/*@globals internalState@*/ /*@modifies internalState@*/ ;
/*@-mustmod@*/
# define bool_initMod() do { ; } while (FALSE)
/*@=mustmod@*/
extern /*@unused@*/ /*@observer@*/ char *bool_unparse (bool b) /*@*/ ;
# define bool_unparse(b) ((b) ? "true" : "false" )
extern /*@unused@*/ bool bool_not (bool b) /*@*/ ;
# define bool_not(b) ((b) ? FALSE : TRUE)
extern /*@unused@*/ bool bool_equal (bool b1, bool b2) /*@*/ ;
# define bool_equal(a,b) ((a) ? (b) : !(b))
/*@noaccess bool@*/
extern /*@falseexit@*/ void check (bool x);
# define check(x) \
do { bool m_res = x; assert (m_res); } while (FALSE)
# endif
David Evans
University of Virginia, Computer Science
evans@cs.virginia.edu