mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-09 12:23:04 +00:00
cleanup.
* src/Sbitset.c (Sbitset__new_on_obstack): Use Sbitset instead of char*. (Sbitset__isEmpty): Use Sbitset instead of char*. * src/Sbitset.h (Sbitset): Make it a pointer to unsigned char instead of char. This helps to avoid casting errors. (Sbitset__or): Use Sbitset instead of char*.
This commit is contained in:
10
ChangeLog
10
ChangeLog
@@ -1,3 +1,13 @@
|
||||
2009-10-16 Joel E. Denny <jdenny@clemson.edu>
|
||||
|
||||
cleanup.
|
||||
* src/Sbitset.c (Sbitset__new_on_obstack): Use Sbitset instead
|
||||
of char*.
|
||||
(Sbitset__isEmpty): Use Sbitset instead of char*.
|
||||
* src/Sbitset.h (Sbitset): Make it a pointer to unsigned char
|
||||
instead of char. This helps to avoid casting errors.
|
||||
(Sbitset__or): Use Sbitset instead of char*.
|
||||
|
||||
2009-10-16 Joel E. Denny <jdenny@clemson.edu>
|
||||
|
||||
portability: don't assume 8-bit bytes.
|
||||
|
||||
@@ -33,9 +33,9 @@ Sbitset__new (Sbitset__Index nbits)
|
||||
Sbitset
|
||||
Sbitset__new_on_obstack (Sbitset__Index nbits, struct obstack *obstackp)
|
||||
{
|
||||
char *result;
|
||||
char *ptr;
|
||||
char *end;
|
||||
Sbitset result;
|
||||
Sbitset ptr;
|
||||
Sbitset end;
|
||||
aver (nbits);
|
||||
result = obstack_alloc (obstackp, Sbitset__nbytes (nbits));
|
||||
for (ptr = result, end = result + Sbitset__nbytes (nbits); ptr < end; ++ptr)
|
||||
@@ -52,7 +52,7 @@ Sbitset__delete (Sbitset self)
|
||||
bool
|
||||
Sbitset__isEmpty (Sbitset self, Sbitset__Index nbits)
|
||||
{
|
||||
char *last = self + Sbitset__nbytes (nbits) - 1;
|
||||
Sbitset last = self + Sbitset__nbytes (nbits) - 1;
|
||||
for (; self < last; ++self)
|
||||
if (*self != 0)
|
||||
return false;
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
#ifndef SBITSET_H_
|
||||
# define SBITSET_H_
|
||||
|
||||
typedef char *Sbitset;
|
||||
typedef unsigned char *Sbitset;
|
||||
typedef size_t Sbitset__Index;
|
||||
#define SBITSET__INDEX__CONVERSION_SPEC "zu"
|
||||
|
||||
@@ -73,10 +73,10 @@ do { \
|
||||
/* NBITS is the size of every bitset. More than NBITS bits might be set. */
|
||||
#define Sbitset__or(SELF, OTHER1, OTHER2, NBITS) \
|
||||
do { \
|
||||
char *ptr_self = (SELF); \
|
||||
char *ptr_other1 = (OTHER1); \
|
||||
char *ptr_other2 = (OTHER2); \
|
||||
char *end_self = ptr_self + Sbitset__nbytes (NBITS); \
|
||||
Sbitset ptr_self = (SELF); \
|
||||
Sbitset ptr_other1 = (OTHER1); \
|
||||
Sbitset ptr_other2 = (OTHER2); \
|
||||
Sbitset end_self = ptr_self + Sbitset__nbytes (NBITS); \
|
||||
for (; ptr_self < end_self; ++ptr_self, ++ptr_other1, ++ptr_other2) \
|
||||
*ptr_self = *ptr_other1 | *ptr_other2; \
|
||||
} while(0)
|
||||
|
||||
Reference in New Issue
Block a user