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

Return LCLint Home Page David Evans
University of Virginia, Computer Science
evans@cs.virginia.edu