diff --git a/src/common/bitstring.c b/src/common/bitstring.c index 973185b77f6eae8488a58e8c565349ed52e650ab..8ca297c36624c9707b702a310f1b518cfca48316 100644 --- a/src/common/bitstring.c +++ b/src/common/bitstring.c @@ -1006,23 +1006,10 @@ bit_pick_cnt(bitstr_t *b, bitoff_t nbits) return new; } -/* - * XXX the relationship between stdint types and "unsigned [long] long" - * types is architecture/compiler dependent, so this may have to be tweaked. - */ -#ifdef USE_64BIT_BITSTR -#define BITSTR_RANGE_FMT "%"PRIu64"-%"PRIu64"," -#define BITSTR_SINGLE_FMT "%"PRIu64"," -#else -#define BITSTR_RANGE_FMT "%u-%u," -#define BITSTR_SINGLE_FMT "%u," -#endif - /* * Convert to range string format, e.g. 0-5,42 */ -char * -bit_fmt(char *str, int32_t len, bitstr_t *b) +char *bit_fmt(char *str, int32_t len, bitstr_t *b) { int32_t count = 0, ret, word; bitoff_t start, bit; @@ -1047,11 +1034,12 @@ bit_fmt(char *str, int32_t len, bitstr_t *b) if (bit == start) /* add single bit position */ ret = snprintf(str+strlen(str), len-strlen(str), - BITSTR_SINGLE_FMT, start); + "%"BITSTR_FMT",", start); else /* add bit position range */ ret = snprintf(str+strlen(str), len-strlen(str), - BITSTR_RANGE_FMT, start, bit); + "%"BITSTR_FMT"-%"BITSTR_FMT",", + start, bit); assert(ret != -1); } bit++; @@ -1413,11 +1401,7 @@ bit_get_pos_num(bitstr_t *b, bitoff_t pos) assert(pos <= bit_cnt); if (!bit_test(b, pos)) { -#ifdef USE_64BIT_BITSTR - error("bit %"PRIu64" not set", pos); -#else - error("bit %d not set", pos); -#endif + error("bit %"BITSTR_FMT" not set", pos); return cnt; } for (bit = 0; bit <= pos; bit++) { diff --git a/src/common/bitstring.h b/src/common/bitstring.h index a8dda70d8fdb6840c5897ea3e4a1e78e0e1837d2..56d1ab888490764901a72c1504dfaffad0e9c7af 100644 --- a/src/common/bitstring.h +++ b/src/common/bitstring.h @@ -59,6 +59,8 @@ #include <inttypes.h> +#define USE_64BIT_BITSTR + #define BITSTR_SHIFT_WORD8 3 #define BITSTR_SHIFT_WORD32 5 #define BITSTR_SHIFT_WORD64 6 @@ -70,10 +72,12 @@ typedef int64_t bitstr_t; #define BITSTR_SHIFT BITSTR_SHIFT_WORD64 #define BITSTR_MAXVAL 0xffffffffffffffff +#define BITSTR_FMT PRId64 #else typedef int32_t bitstr_t; #define BITSTR_SHIFT BITSTR_SHIFT_WORD32 #define BITSTR_MAXVAL 0xffffffff +#define BITSTR_FMT PRId32 #endif typedef bitstr_t bitoff_t; diff --git a/src/plugins/task/affinity/dist_tasks.c b/src/plugins/task/affinity/dist_tasks.c index 591bf5028b69fbbd771b8689f8a99f794b3f297e..b6b7eafc74da7f42984209e8eae5be8fc8235dd4 100644 --- a/src/plugins/task/affinity/dist_tasks.c +++ b/src/plugins/task/affinity/dist_tasks.c @@ -1248,9 +1248,9 @@ static bitstr_t *_lllp_map_abstract_mask(bitstr_t *bitmask) if (bit < bit_size(newmask)) bit_set(newmask, bit); else - error("_lllp_map_abstract_mask: can't go from " - "%d -> %d since we only have %d bits", - i, bit, bit_size(newmask)); + error("%s: can't go from %d -> %d since we " + "only have %"BITSTR_FMT" bits", + __func__, i, bit, bit_size(newmask)); } } return newmask; @@ -1308,7 +1308,7 @@ static void _lllp_generate_cpu_bind(launch_tasks_request_msg_t *req, charsize += 3; /* "0x" and trailing "," */ masks_len = maxtasks * charsize + 1; /* number of masks + null */ - debug3("_lllp_generate_cpu_bind %d %d %d", maxtasks, charsize, + debug3("%s %d %"BITSTR_FMT" %d", __func__, maxtasks, charsize, masks_len); masks_str = xmalloc(masks_len);