use stdbool

This commit is contained in:
Vítor Santos Costa 2014-09-09 23:51:44 -05:00
parent 3c0a65218b
commit 1dd3ff800e
6 changed files with 36 additions and 37 deletions

16
H/Yap.h
View File

@ -98,8 +98,20 @@
#endif /* COROUTINING && !TERM_EXTENSIONS */ #endif /* COROUTINING && !TERM_EXTENSIONS */
/* truth-values */ /* truth-values */
#define TRUE 1 #if HAVE_STDBOOL_H
#define FALSE 0 #include <stdbool.h>
#else
typedef int _Bool;
#typedef bool _Bool;
#define false 0
#define true 1
#endif
#define TRUE true
#define FALSE false
/* Microsoft's Visual C++ Compiler */ /* Microsoft's Visual C++ Compiler */
#ifdef _MSC_VER /* adjust a config.h from mingw32 to work with vc++ */ #ifdef _MSC_VER /* adjust a config.h from mingw32 to work with vc++ */

View File

@ -38,8 +38,8 @@ typedef void *Atom;
/* defines integer types Int and UInt (unsigned) with the same size as a ptr /* defines integer types Int and UInt (unsigned) with the same size as a ptr
** and integer types Short and UShort with half the size of a ptr */ ** and integer types Short and UShort with half the size of a ptr */
/* */ typedef intptr_t Int; typedef intptr_t Int;
/* */ typedef uintptr_t UInt; typedef uintptr_t UInt;
#if SIZEOF_INT_P==4 #if SIZEOF_INT_P==4
@ -107,18 +107,11 @@ typedef void *Atom;
#endif #endif
typedef UInt CELL; typedef uintptr_t CELL;
#if HAVE_STDINT_H
#include <stdint.h>
typedef uint16_t BITS16; typedef uint16_t BITS16;
typedef int16_t SBITS16; typedef int16_t SBITS16;
typedef uint32_t BITS32; typedef uint32_t BITS32;
#else
typedef UShort BITS16;
typedef Short SBITS16;
typedef UInt BITS32;
#endif
#define WordSize sizeof(BITS16) #define WordSize sizeof(BITS16)
#define CellSize sizeof(CELL) #define CellSize sizeof(CELL)
@ -129,11 +122,11 @@ typedef UInt BITS32;
*************************************************************************************************/ *************************************************************************************************/
typedef CELL Term; typedef uintptr_t Term;
typedef Int yhandle_t; typedef intptr_t yhandle_t;
/* */ typedef double Float; typedef double Float;
#if SIZEOF_INT<SIZEOF_INT_P #if SIZEOF_INT<SIZEOF_INT_P
#define SHORT_INTS 1 #define SHORT_INTS 1

View File

@ -215,13 +215,13 @@ void Yap_AllocateDefaultArena(Int, Int, int);
Int Yap_total_stack_shift_time(void); Int Yap_total_stack_shift_time(void);
void Yap_InitGrowPreds(void); void Yap_InitGrowPreds(void);
UInt Yap_InsertInGlobal(CELL *, UInt); UInt Yap_InsertInGlobal(CELL *, UInt);
int Yap_growheap(int, size_t, void *); int Yap_growheap(bool, size_t, void *);
int Yap_growstack( size_t ); int Yap_growstack( size_t );
int Yap_growtrail(long, int); int Yap_growtrail(size_t, bool);
int Yap_growglobal(CELL **); int Yap_growglobal(CELL **);
int Yap_locked_growheap(int, size_t, void *); int Yap_locked_growheap(bool, size_t, void *);
int Yap_locked_growstack( size_t ); int Yap_locked_growstack( size_t );
int Yap_locked_growtrail(long, int); int Yap_locked_growtrail(size_t, bool);
int Yap_locked_growglobal(CELL **); int Yap_locked_growglobal(CELL **);
CELL **Yap_shift_visit(CELL **, CELL ***, CELL ***); CELL **Yap_shift_visit(CELL **, CELL ***, CELL ***);
#ifdef THREADS #ifdef THREADS

View File

@ -571,24 +571,20 @@ extern IOENC initEncoding(void);
/**** stuff from pl-error.c ****/ /**** stuff from pl-error.c ****/
extern int PL_get_bool_ex(term_t t, int *i); extern int PL_get_bool_ex(term_t t, int *i);
extern int PL_get_nchars_ex(term_t t, size_t *len, char **s, unsigned int flags);
extern int PL_get_chars_ex(term_t t, char **s, unsigned int flags); extern int PL_get_chars_ex(term_t t, char **s, unsigned int flags);
extern int PL_get_integer_ex(term_t t, int *i); extern int PL_get_integer_ex(term_t t, int *i);
extern int PL_get_module_ex(term_t t, module_t *m);
extern int PL_get_nchars_ex(term_t t, size_t *len, char **s, unsigned int flags);
extern int PL_get_long_ex(term_t t, long *i); extern int PL_get_long_ex(term_t t, long *i);
extern int PL_get_int64_ex(term_t t, int64_t *i); extern int PL_get_int64_ex(term_t t, int64_t *i);
extern int PL_get_intptr_ex(term_t t, intptr_t *i); extern int PL_get_intptr_ex(term_t t, intptr_t *i);
extern int PL_get_bool_ex(term_t t, int *i);
extern int PL_get_float_ex(term_t t, double *f); extern int PL_get_float_ex(term_t t, double *f);
extern int PL_get_char_ex(term_t t, int *p, int eof); extern int PL_get_char_ex(term_t t, int *p, int eof);
extern int PL_unify_list_ex(term_t l, term_t h, term_t t); extern int PL_unify_list_ex(term_t l, term_t h, term_t t);
extern int PL_unify_nil_ex(term_t l); extern int PL_unify_nil_ex(term_t l);
extern int PL_get_list_ex(term_t l, term_t h, term_t t); extern int PL_get_list_ex(term_t l, term_t h, term_t t);
extern int PL_get_nil_ex(term_t l); extern int PL_get_nil_ex(term_t l);
extern int PL_unify_bool_ex(term_t t, bool val); extern int PL_unify_bool_ex(term_t t, int val);
extern int PL_unify_bool_ex(term_t t, bool val);
extern int PL_get_bool_ex(term_t t, int *i);
extern int PL_get_integer_ex(term_t t, int *i);
extern int PL_get_module_ex(term_t t, module_t *m);
/**** stuff from pl-file.c ****/ /**** stuff from pl-file.c ****/
extern void initIO(void); extern void initIO(void);
@ -770,11 +766,11 @@ COMMON(int) raiseStackOverflow(int overflow);
COMMON(int) PL_qualify(term_t raw, term_t qualified); COMMON(int) PL_qualify(term_t raw, term_t qualified);
static inline word static inline word
setBoolean(int *flag, term_t old, term_t new) setBoolean(bool *flag, term_t old, term_t new)
{ if ( !PL_unify_bool_ex(old, *flag) || { int fl = *flag; if ( !PL_unify_bool_ex(old, &fl) ||
!PL_get_bool_ex(new, flag) ) !PL_get_bool_ex(new, &fl) )
fail; fail;
*flag = fl;
succeed; succeed;
} }

View File

@ -77,7 +77,7 @@ typedef struct read_data_t
#define last_token_start (_PL_rd->token_start) #define last_token_start (_PL_rd->token_start)
#define rb (_PL_rd->_rb) #define rb (_PL_rd->_rb)
#define DO_CHARESCAPE true(_PL_rd, M_CHARESCAPE) #define DO_CHARESCAPE True(_PL_rd, M_CHARESCAPE)
extern IOFUNCTIONS Sstringfunctions; extern IOFUNCTIONS Sstringfunctions;

View File

@ -84,12 +84,10 @@ typedef int pthread_t;
typedef uintptr_t word; /* Anonymous 4 byte object */ typedef uintptr_t word; /* Anonymous 4 byte object */
#ifndef YAP_CPP_INTERFACE
typedef int bool;
#endif
#define GLOBAL_LD (LOCAL_PL_local_data_p) #define GLOBAL_LD (LOCAL_PL_local_data_p)
#if !defined(O_PLMT) && !defined(YAPOR) #if !defined(O_PLMT) && !defined(YAPOR)
#define LOCAL_LD (GLOBAL_LD) #define LOCAL_LD (GLOBAL_LD)
@ -212,8 +210,8 @@ typedef struct initialise_handle * InitialiseHandle;
// THIS HAS TO BE ABSTRACTED // THIS HAS TO BE ABSTRACTED
#ifndef YAP_CPP_INTERFACE #ifndef YAP_CPP_INTERFACE
#define true(s, a) ((s)->flags & (a)) #define True(s, a) ((s)->flags & (a))
#define false(s, a) (!true((s), (a))) #define False(s, a) (!True((s), (a)))
#define set(s, a) ((s)->flags |= (a)) #define set(s, a) ((s)->flags |= (a))
#define clear(s, a) ((s)->flags &= ~(a)) #define clear(s, a) ((s)->flags &= ~(a))
#endif #endif
@ -278,7 +276,7 @@ getUnknownModule(module_t m);
#define debugstatus (LD->_debugstatus) #define debugstatus (LD->_debugstatus)
#define truePrologFlag(flag) true(&LD->prolog_flag.mask, flag) #define truePrologFlag(flag) True(&LD->prolog_flag.mask, flag)
#define setPrologFlagMask(flag) set(&LD->prolog_flag.mask, flag) #define setPrologFlagMask(flag) set(&LD->prolog_flag.mask, flag)
#define clearPrologFlagMask(flag) clear(&LD->prolog_flag.mask, flag) #define clearPrologFlagMask(flag) clear(&LD->prolog_flag.mask, flag)