v0.9: Fix signed/unsigned compare warnings.
Fix all the Icarus files that can be so that we do not have any signed/unsigned compare warnings. It also removes const as a return qualifier for two routines in discipline.h.
This commit is contained in:
parent
633006bc6e
commit
04b9cf5715
|
|
@ -1,7 +1,7 @@
|
|||
#ifndef __discipline_H
|
||||
#define __discipline_H
|
||||
/*
|
||||
* Copyright (c) 2008 Stephen Williams (steve@icarus.com)
|
||||
* Copyright (c) 2008-2010 Stephen Williams (steve@icarus.com)
|
||||
*
|
||||
* This source code is free software; you can redistribute it
|
||||
* and/or modify it in source code form under the terms of the GNU
|
||||
|
|
@ -55,8 +55,8 @@ class ivl_discipline_s : public LineInfo {
|
|||
|
||||
perm_string name() const { return name_; }
|
||||
ivl_dis_domain_t domain() const { return domain_; }
|
||||
const ivl_nature_t potential() const { return potential_; }
|
||||
const ivl_nature_t flow() const { return flow_; }
|
||||
ivl_nature_t potential() const { return potential_; }
|
||||
ivl_nature_t flow() const { return flow_; }
|
||||
|
||||
private:
|
||||
perm_string name_;
|
||||
|
|
|
|||
|
|
@ -94,12 +94,13 @@ static void draw_lpm_mux_ab(ivl_lpm_t net, const char*muxz)
|
|||
|
||||
static void draw_lpm_mux_nest(ivl_lpm_t net, const char*muxz)
|
||||
{
|
||||
int idx, level;
|
||||
unsigned idx, level;
|
||||
unsigned width = ivl_lpm_width(net);
|
||||
unsigned swidth = ivl_lpm_selects(net);
|
||||
char*select_input;
|
||||
|
||||
assert(ivl_lpm_size(net) == (1 << swidth));
|
||||
assert(swidth < sizeof(unsigned));
|
||||
assert(ivl_lpm_size(net) == (1U << swidth));
|
||||
|
||||
select_input = strdup(draw_net_input(ivl_lpm_select(net)));
|
||||
|
||||
|
|
|
|||
|
|
@ -93,7 +93,8 @@ static char* draw_C4_to_string(ivl_net_const_t cptr)
|
|||
for (idx = 0 ; idx < ivl_const_width(cptr) ; idx += 1) {
|
||||
char bitchar = bits[ivl_const_width(cptr)-idx-1];
|
||||
*dp++ = bitchar;
|
||||
assert((dp - result) < result_len);
|
||||
assert(dp >= result);
|
||||
assert((unsigned)(dp - result) < result_len);
|
||||
}
|
||||
|
||||
strcpy(dp, ">");
|
||||
|
|
@ -143,7 +144,8 @@ static char* draw_C8_to_string(ivl_net_const_t cptr,
|
|||
assert(0);
|
||||
break;
|
||||
}
|
||||
assert(dp - result < nresult);
|
||||
assert(dp >= result);
|
||||
assert((unsigned)(dp - result) < nresult);
|
||||
}
|
||||
|
||||
strcpy(dp, ">");
|
||||
|
|
@ -257,7 +259,8 @@ static char* draw_net_input_drive(ivl_nexus_t nex, ivl_nexus_ptr_t nptr)
|
|||
dp += ivl_logic_width(lptr);
|
||||
*dp++ = '>';
|
||||
*dp = 0;
|
||||
assert((dp-result) <= result_len);
|
||||
assert(dp >= result);
|
||||
assert((unsigned)(dp - result) <= result_len);
|
||||
return result;
|
||||
} else {
|
||||
char val[4];
|
||||
|
|
@ -276,7 +279,8 @@ static char* draw_net_input_drive(ivl_nexus_t nex, ivl_nexus_ptr_t nptr)
|
|||
dp += 3*ivl_logic_width(lptr);
|
||||
*dp++ = '>';
|
||||
*dp = 0;
|
||||
assert((dp-result) <= result_len);
|
||||
assert(dp >= result);
|
||||
assert((unsigned)(dp - result) <= result_len);
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
|
@ -292,7 +296,8 @@ static char* draw_net_input_drive(ivl_nexus_t nex, ivl_nexus_ptr_t nptr)
|
|||
dp += ivl_logic_width(lptr);
|
||||
*dp++ = '>';
|
||||
*dp = 0;
|
||||
assert((dp-result) <= result_len);
|
||||
assert(dp >= result);
|
||||
assert((unsigned)(dp - result) <= result_len);
|
||||
return result;
|
||||
} else {
|
||||
char val[4];
|
||||
|
|
@ -311,7 +316,8 @@ static char* draw_net_input_drive(ivl_nexus_t nex, ivl_nexus_ptr_t nptr)
|
|||
dp += 3*ivl_logic_width(lptr);
|
||||
*dp++ = '>';
|
||||
*dp = 0;
|
||||
assert((dp-result) <= result_len);
|
||||
assert(dp >= result);
|
||||
assert((unsigned)(dp - result) <= result_len);
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -156,7 +156,7 @@ int draw_ufunc_real(ivl_expr_t expr)
|
|||
ivl_scope_t def = ivl_expr_def(expr);
|
||||
ivl_signal_t retval = ivl_scope_port(def, 0);
|
||||
int res = 0;
|
||||
int idx;
|
||||
unsigned idx;
|
||||
|
||||
/* If this is an automatic function, allocate the local storage. */
|
||||
if (ivl_scope_is_auto(def)) {
|
||||
|
|
|
|||
|
|
@ -308,7 +308,8 @@ static void draw_vpi_taskfunc_args(const char*call_string,
|
|||
for (bit = wid ; bit > 0 ; bit -= 1)
|
||||
*dp++ = bits[bit-1];
|
||||
*dp++ = 0;
|
||||
assert(dp - buffer <= sizeof buffer);
|
||||
assert(dp >= buffer);
|
||||
assert((unsigned)(dp - buffer) <= sizeof buffer);
|
||||
}
|
||||
args[idx].text = strdup(buffer);
|
||||
continue;
|
||||
|
|
|
|||
|
|
@ -929,9 +929,9 @@ static struct vector_info draw_binary_expr_le(ivl_expr_t expr,
|
|||
case 'G':
|
||||
rv = draw_eval_expr_wid(re, owid, STUFF_OK_XZ);
|
||||
if (number_is_immediate(le,16,0) && !number_is_unknown(le)) {
|
||||
unsigned imm = get_number_immediate(le);
|
||||
long imm = get_number_immediate(le);
|
||||
assert(imm >= 0);
|
||||
fprintf(vvp_out, " %%cmpi/%c %u, %u, %u;\n", s_flag,
|
||||
fprintf(vvp_out, " %%cmpi/%c %u, %ld, %u;\n", s_flag,
|
||||
rv.base, imm, rv.wid);
|
||||
} else {
|
||||
lv = draw_eval_expr_wid(le, owid, STUFF_OK_XZ);
|
||||
|
|
@ -945,9 +945,9 @@ static struct vector_info draw_binary_expr_le(ivl_expr_t expr,
|
|||
case 'L':
|
||||
lv = draw_eval_expr_wid(le, owid, STUFF_OK_XZ);
|
||||
if (number_is_immediate(re,16,0) && !number_is_unknown(re)) {
|
||||
unsigned imm = get_number_immediate(re);
|
||||
long imm = get_number_immediate(re);
|
||||
assert(imm >= 0);
|
||||
fprintf(vvp_out, " %%cmpi/%c %u, %u, %u;\n", s_flag,
|
||||
fprintf(vvp_out, " %%cmpi/%c %u, %ld, %u;\n", s_flag,
|
||||
lv.base, imm, lv.wid);
|
||||
} else {
|
||||
rv = draw_eval_expr_wid(re, owid, STUFF_OK_XZ);
|
||||
|
|
@ -961,9 +961,9 @@ static struct vector_info draw_binary_expr_le(ivl_expr_t expr,
|
|||
case '<':
|
||||
lv = draw_eval_expr_wid(le, owid, STUFF_OK_XZ);
|
||||
if (number_is_immediate(re,16,0) && !number_is_unknown(re)) {
|
||||
unsigned imm = get_number_immediate(re);
|
||||
long imm = get_number_immediate(re);
|
||||
assert(imm >= 0);
|
||||
fprintf(vvp_out, " %%cmpi/%c %u, %u, %u;\n", s_flag,
|
||||
fprintf(vvp_out, " %%cmpi/%c %u, %ld, %u;\n", s_flag,
|
||||
lv.base, imm, lv.wid);
|
||||
} else {
|
||||
rv = draw_eval_expr_wid(re, owid, STUFF_OK_XZ);
|
||||
|
|
@ -976,9 +976,9 @@ static struct vector_info draw_binary_expr_le(ivl_expr_t expr,
|
|||
case '>':
|
||||
rv = draw_eval_expr_wid(re, owid, STUFF_OK_XZ);
|
||||
if (number_is_immediate(le,16,0) && !number_is_unknown(le)) {
|
||||
unsigned imm = get_number_immediate(le);
|
||||
long imm = get_number_immediate(le);
|
||||
assert(imm >= 0);
|
||||
fprintf(vvp_out, " %%cmpi/%c %u, %u, %u;\n", s_flag,
|
||||
fprintf(vvp_out, " %%cmpi/%c %u, %ld, %u;\n", s_flag,
|
||||
rv.base, imm, rv.wid);
|
||||
} else {
|
||||
lv = draw_eval_expr_wid(le, owid, STUFF_OK_XZ);
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2007-2008 Stephen Williams (steve@icarus.com)
|
||||
* Copyright (c) 2007-2010 Stephen Williams (steve@icarus.com)
|
||||
*
|
||||
* This source code is free software; you can redistribute it
|
||||
* and/or modify it in source code form under the terms of the GNU
|
||||
|
|
@ -28,7 +28,7 @@
|
|||
|
||||
static ivl_signal_t find_path_source_port(ivl_delaypath_t path)
|
||||
{
|
||||
int idx;
|
||||
unsigned idx;
|
||||
ivl_nexus_t nex = ivl_path_source(path);
|
||||
|
||||
for (idx = 0 ; idx < ivl_nexus_ptrs(nex) ; idx += 1) {
|
||||
|
|
|
|||
|
|
@ -814,14 +814,15 @@ static void draw_logic_in_scope(ivl_net_logic_t lptr)
|
|||
/* Get all the input label that I will use for parameters to
|
||||
the functor that I create later. */
|
||||
ninp = ivl_logic_pins(lptr) - 1;
|
||||
assert(ninp >= 0);
|
||||
input_strings = calloc(ninp, sizeof(char*));
|
||||
for (pdx = 0 ; pdx < ninp ; pdx += 1)
|
||||
for (pdx = 0 ; pdx < (unsigned)ninp ; pdx += 1)
|
||||
input_strings[pdx] = draw_net_input(ivl_logic_pin(lptr, pdx+1));
|
||||
|
||||
level = 0;
|
||||
while (ninp) {
|
||||
int inst;
|
||||
for (inst = 0; inst < ninp; inst += 4) {
|
||||
unsigned inst;
|
||||
for (inst = 0; inst < (unsigned)ninp; inst += 4) {
|
||||
if (ninp > 4)
|
||||
fprintf(vvp_out, "L_%p/%d/%d .functor %s %u",
|
||||
lptr, level, inst, lcasc, vector_width);
|
||||
|
|
@ -834,7 +835,7 @@ static void draw_logic_in_scope(ivl_net_logic_t lptr)
|
|||
fprintf(vvp_out, " [%u %u]", str0, str1);
|
||||
|
||||
}
|
||||
for (pdx = inst; pdx < ninp && pdx < inst+4 ; pdx += 1) {
|
||||
for (pdx = inst; pdx < (unsigned)ninp && pdx < inst+4 ; pdx += 1) {
|
||||
if (level) {
|
||||
fprintf(vvp_out, ", L_%p/%d/%d",
|
||||
lptr, level - 1, pdx*4);
|
||||
|
|
|
|||
|
|
@ -265,7 +265,8 @@ static unsigned int get_format_char(char **rtn, int ljust, int plus,
|
|||
unsigned int ini_size = 512; /* The initial size of the buffer. */
|
||||
|
||||
/* Make sure the width fits in the initial buffer. */
|
||||
if (width+1 > ini_size) ini_size = width + 1;
|
||||
assert(width >= -1);
|
||||
if ((unsigned int)(width+1) > ini_size) ini_size = width + 1;
|
||||
|
||||
/* The default return value is the full format. */
|
||||
result = malloc(ini_size*sizeof(char));
|
||||
|
|
|
|||
|
|
@ -546,7 +546,7 @@ static unsigned fread_word(FILE *fp, vpiHandle word,
|
|||
* my local vector. */
|
||||
val.format = vpiVectorVal;
|
||||
vpi_get_value(word, &val);
|
||||
for (bidx = 0; bidx < words; bidx += 1) {
|
||||
for (bidx = 0; (unsigned)bidx < words; bidx += 1) {
|
||||
vector[bidx].aval = val.value.vector[bidx].aval;
|
||||
vector[bidx].bval = val.value.vector[bidx].bval;
|
||||
}
|
||||
|
|
@ -683,9 +683,10 @@ static PLI_INT32 sys_fread_calltf(PLI_BYTE8*name)
|
|||
vector = calloc(words, sizeof(s_vpi_vecval));
|
||||
bpe = (width+7)/8;
|
||||
|
||||
assert(count >= 0);
|
||||
if (is_mem) {
|
||||
rtn = 0;
|
||||
for (idx = 0; idx < count; idx += 1) {
|
||||
for (idx = 0; idx < (unsigned)count; idx += 1) {
|
||||
vpiHandle word;
|
||||
word = vpi_handle_by_index(mem_reg, start+(signed)idx);
|
||||
rtn += fread_word(fp, word, words, bpe, vector);
|
||||
|
|
|
|||
|
|
@ -70,7 +70,8 @@ void sdf_select_instance(const char*celltype, const char*cellinst)
|
|||
const char*src = cellinst;
|
||||
const char*dp;
|
||||
while ( (dp=strchr(src, '.')) ) {
|
||||
int len = dp - src;
|
||||
unsigned len = dp - src;
|
||||
assert(dp >= src);
|
||||
assert(len < sizeof buffer);
|
||||
strncpy(buffer, src, len);
|
||||
buffer[len] = 0;
|
||||
|
|
|
|||
Loading…
Reference in New Issue