Skip to content

Commit

Permalink
ewah/bitmap: silence warning about MASK macro redefinition
Browse files Browse the repository at this point in the history
On PowerPC Mac OS X (10.5.8 "Leopard" with Xcode 3.1),
system header /usr/include/ppc/param.h[1] pollutes the
preprocessor namespace with a macro generically named MASK.
This conflicts with the same-named macro in ewah/bitmap.c.
We can avoid this conflict by using a more specific name.

[1]: Included indirectly via:
     git-compat-util.h ->
     sys/sysctl.h ->
     sys/ucred.h ->
     sys/param.h ->
     machine/param.h ->
     ppc/param.h

Signed-off-by: Eric Sunshine <[email protected]>
Signed-off-by: Jeff King <[email protected]>
Signed-off-by: Junio C Hamano <[email protected]>
  • Loading branch information
sunshineco authored and gitster committed Jun 3, 2015
1 parent 282616c commit 414382f
Showing 1 changed file with 8 additions and 8 deletions.
16 changes: 8 additions & 8 deletions ewah/bitmap.c
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,8 @@
#include "git-compat-util.h"
#include "ewok.h"

#define MASK(x) ((eword_t)1 << (x % BITS_IN_WORD))
#define BLOCK(x) (x / BITS_IN_WORD)
#define EWAH_MASK(x) ((eword_t)1 << (x % BITS_IN_WORD))
#define EWAH_BLOCK(x) (x / BITS_IN_WORD)

struct bitmap *bitmap_new(void)
{
Expand All @@ -33,7 +33,7 @@ struct bitmap *bitmap_new(void)

void bitmap_set(struct bitmap *self, size_t pos)
{
size_t block = BLOCK(pos);
size_t block = EWAH_BLOCK(pos);

if (block >= self->word_alloc) {
size_t old_size = self->word_alloc;
Expand All @@ -45,22 +45,22 @@ void bitmap_set(struct bitmap *self, size_t pos)
(self->word_alloc - old_size) * sizeof(eword_t));
}

self->words[block] |= MASK(pos);
self->words[block] |= EWAH_MASK(pos);
}

void bitmap_clear(struct bitmap *self, size_t pos)
{
size_t block = BLOCK(pos);
size_t block = EWAH_BLOCK(pos);

if (block < self->word_alloc)
self->words[block] &= ~MASK(pos);
self->words[block] &= ~EWAH_MASK(pos);
}

int bitmap_get(struct bitmap *self, size_t pos)
{
size_t block = BLOCK(pos);
size_t block = EWAH_BLOCK(pos);
return block < self->word_alloc &&
(self->words[block] & MASK(pos)) != 0;
(self->words[block] & EWAH_MASK(pos)) != 0;
}

struct ewah_bitmap *bitmap_to_ewah(struct bitmap *bitmap)
Expand Down

0 comments on commit 414382f

Please sign in to comment.