mirror of https://gitlab.com/qemu-project/dtc.git
checks: Fix signedness comparisons warnings
With -Wsign-compare, compilers warn about a mismatching signedness in comparisons in various parts in checks.c. Fix those by making all affected variables unsigned. This covers return values of the (unsigned) size_t type, phandles, variables holding sizes in general and loop counters only ever counting positives values. Signed-off-by: Andre Przywara <andre.przywara@arm.com> Message-Id: <20210618172030.9684-5-andre.przywara@arm.com> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
This commit is contained in:
parent
69bed6c241
commit
b587787ef3
20
checks.c
20
checks.c
|
@ -312,7 +312,7 @@ ERROR(duplicate_property_names, check_duplicate_property_names, NULL);
|
||||||
static void check_node_name_chars(struct check *c, struct dt_info *dti,
|
static void check_node_name_chars(struct check *c, struct dt_info *dti,
|
||||||
struct node *node)
|
struct node *node)
|
||||||
{
|
{
|
||||||
int n = strspn(node->name, c->data);
|
size_t n = strspn(node->name, c->data);
|
||||||
|
|
||||||
if (n < strlen(node->name))
|
if (n < strlen(node->name))
|
||||||
FAIL(c, dti, node, "Bad character '%c' in node name",
|
FAIL(c, dti, node, "Bad character '%c' in node name",
|
||||||
|
@ -386,7 +386,7 @@ static void check_property_name_chars(struct check *c, struct dt_info *dti,
|
||||||
struct property *prop;
|
struct property *prop;
|
||||||
|
|
||||||
for_each_property(node, prop) {
|
for_each_property(node, prop) {
|
||||||
int n = strspn(prop->name, c->data);
|
size_t n = strspn(prop->name, c->data);
|
||||||
|
|
||||||
if (n < strlen(prop->name))
|
if (n < strlen(prop->name))
|
||||||
FAIL_PROP(c, dti, node, prop, "Bad character '%c' in property name",
|
FAIL_PROP(c, dti, node, prop, "Bad character '%c' in property name",
|
||||||
|
@ -403,7 +403,7 @@ static void check_property_name_chars_strict(struct check *c,
|
||||||
|
|
||||||
for_each_property(node, prop) {
|
for_each_property(node, prop) {
|
||||||
const char *name = prop->name;
|
const char *name = prop->name;
|
||||||
int n = strspn(name, c->data);
|
size_t n = strspn(name, c->data);
|
||||||
|
|
||||||
if (n == strlen(prop->name))
|
if (n == strlen(prop->name))
|
||||||
continue;
|
continue;
|
||||||
|
@ -579,7 +579,7 @@ static void check_name_properties(struct check *c, struct dt_info *dti,
|
||||||
if (!prop)
|
if (!prop)
|
||||||
return; /* No name property, that's fine */
|
return; /* No name property, that's fine */
|
||||||
|
|
||||||
if ((prop->val.len != node->basenamelen+1)
|
if ((prop->val.len != node->basenamelen + 1U)
|
||||||
|| (memcmp(prop->val.val, node->name, node->basenamelen) != 0)) {
|
|| (memcmp(prop->val.val, node->name, node->basenamelen) != 0)) {
|
||||||
FAIL(c, dti, node, "\"name\" property is incorrect (\"%s\" instead"
|
FAIL(c, dti, node, "\"name\" property is incorrect (\"%s\" instead"
|
||||||
" of base node name)", prop->val.val);
|
" of base node name)", prop->val.val);
|
||||||
|
@ -1388,7 +1388,7 @@ static void check_property_phandle_args(struct check *c,
|
||||||
const struct provider *provider)
|
const struct provider *provider)
|
||||||
{
|
{
|
||||||
struct node *root = dti->dt;
|
struct node *root = dti->dt;
|
||||||
int cell, cellsize = 0;
|
unsigned int cell, cellsize = 0;
|
||||||
|
|
||||||
if (!is_multiple_of(prop->val.len, sizeof(cell_t))) {
|
if (!is_multiple_of(prop->val.len, sizeof(cell_t))) {
|
||||||
FAIL_PROP(c, dti, node, prop,
|
FAIL_PROP(c, dti, node, prop,
|
||||||
|
@ -1596,7 +1596,7 @@ static void check_interrupts_property(struct check *c,
|
||||||
struct node *root = dti->dt;
|
struct node *root = dti->dt;
|
||||||
struct node *irq_node = NULL, *parent = node;
|
struct node *irq_node = NULL, *parent = node;
|
||||||
struct property *irq_prop, *prop = NULL;
|
struct property *irq_prop, *prop = NULL;
|
||||||
int irq_cells, phandle;
|
cell_t irq_cells, phandle;
|
||||||
|
|
||||||
irq_prop = get_property(node, "interrupts");
|
irq_prop = get_property(node, "interrupts");
|
||||||
if (!irq_prop)
|
if (!irq_prop)
|
||||||
|
@ -1762,7 +1762,7 @@ WARNING(graph_port, check_graph_port, NULL, &graph_nodes);
|
||||||
static struct node *get_remote_endpoint(struct check *c, struct dt_info *dti,
|
static struct node *get_remote_endpoint(struct check *c, struct dt_info *dti,
|
||||||
struct node *endpoint)
|
struct node *endpoint)
|
||||||
{
|
{
|
||||||
int phandle;
|
cell_t phandle;
|
||||||
struct node *node;
|
struct node *node;
|
||||||
struct property *prop;
|
struct property *prop;
|
||||||
|
|
||||||
|
@ -1910,7 +1910,7 @@ static void enable_warning_error(struct check *c, bool warn, bool error)
|
||||||
|
|
||||||
static void disable_warning_error(struct check *c, bool warn, bool error)
|
static void disable_warning_error(struct check *c, bool warn, bool error)
|
||||||
{
|
{
|
||||||
int i;
|
unsigned int i;
|
||||||
|
|
||||||
/* Lowering level, also lower it for things this is the prereq
|
/* Lowering level, also lower it for things this is the prereq
|
||||||
* for */
|
* for */
|
||||||
|
@ -1931,7 +1931,7 @@ static void disable_warning_error(struct check *c, bool warn, bool error)
|
||||||
|
|
||||||
void parse_checks_option(bool warn, bool error, const char *arg)
|
void parse_checks_option(bool warn, bool error, const char *arg)
|
||||||
{
|
{
|
||||||
int i;
|
unsigned int i;
|
||||||
const char *name = arg;
|
const char *name = arg;
|
||||||
bool enable = true;
|
bool enable = true;
|
||||||
|
|
||||||
|
@ -1958,7 +1958,7 @@ void parse_checks_option(bool warn, bool error, const char *arg)
|
||||||
|
|
||||||
void process_checks(bool force, struct dt_info *dti)
|
void process_checks(bool force, struct dt_info *dti)
|
||||||
{
|
{
|
||||||
int i;
|
unsigned int i;
|
||||||
int error = 0;
|
int error = 0;
|
||||||
|
|
||||||
for (i = 0; i < ARRAY_SIZE(check_table); i++) {
|
for (i = 0; i < ARRAY_SIZE(check_table); i++) {
|
||||||
|
|
Loading…
Reference in New Issue