Adding an option to warn about comparisions that are always true or false.
authorAdam Turowski <adam.turowski@inf.ethz.ch>
Wed, 9 Mar 2016 10:20:00 +0000 (11:20 +0100)
committerAdam Turowski <adam.turowski@inf.ethz.ch>
Wed, 9 Mar 2016 10:20:00 +0000 (11:20 +0100)
Signed-off-by: Adam Turowski <adam.turowski@inf.ethz.ch>

hake/ArchDefaults.hs
include/barrelfish_kpi/types.h
lib/bulk_transfer/backends/net/e10k_queue.h
lib/thc/thcsync.c
usr/acpi/acpi.c
usr/ahcid/ahcid.c
usr/drivers/e10k/e10k_queue.h
usr/drivers/serial/main.c
usr/drivers/solarflair/sfxge/common/efx_mac.c
usr/pci/pci.c

index cf94dec..5e334e1 100644 (file)
@@ -25,6 +25,7 @@ commonFlags = [ Str s | s <- [ "-fno-builtin",
                                 "-Wshadow",
                                 "-Wmissing-declarations",
                                 "-Wmissing-field-initializers",
+                                "-Wtype-limits",
                                 "-Wredundant-decls",
                                 "-Werror" ] ]
 
index 400cbd0..41fbacf 100644 (file)
@@ -88,7 +88,7 @@ typedef uint8_t       coreid_t;
 #define PRIxCOREID  PRIx8
 
 #ifndef MAX_COREID
-#define MAX_COREID  255 // limit of coreid_t type (see comment above)
+#define MAX_COREID  254 // limit of coreid_t type (see comment above)
 #endif
 
 /* node id type */
index 3ad7b14..40358a1 100644 (file)
@@ -133,7 +133,7 @@ static inline int e10k_queue_add_txbuf_ctx(e10k_queue_t* q, uint64_t phys,
     e10k_q_tdesc_adv_rd_ifcs_insert(d, 1);
     e10k_q_tdesc_adv_rd_eop_insert(d, last);
 
-    if (ctx != -1U) {
+    if (ctx != (uint8_t)-1) {
         e10k_q_tdesc_adv_rd_idx_insert(d, ctx);
         e10k_q_tdesc_adv_rd_cc_insert(d, 1);
         e10k_q_tdesc_adv_rd_ixsm_insert(d, ixsm);
index a97078e..8c46144 100644 (file)
@@ -517,7 +517,7 @@ uint64_t thc_seq_read(thc_seq_t *seq) {
 
 uint64_t thc_seq_ticket(thc_seq_t *seq) {
 #ifdef _MSC_VER
-    C_ASSERT(sizeof(LONGLONG) == sizeof(seq->n));\r
+    C_ASSERT(sizeof(LONGLONG) == sizeof(seq->n));
     return InterlockedIncrement64(reinterpret_cast<volatile LONGLONG*>(&seq->n)) - 1;
 #else
   uint64_t result;
@@ -527,7 +527,6 @@ uint64_t thc_seq_ticket(thc_seq_t *seq) {
       break;
     }
   } while(1);
-  assert((result >= 0) && "URK!  Sequencer wrapped");
   return result;
 #endif
 }
index aae8fca..62b346e 100644 (file)
@@ -334,7 +334,7 @@ static void get_irq_routing(ACPI_HANDLE handle, uint8_t bus)
         }
 
         assert(device < PCI_NDEVICES);
-        assert(prt->Pin >= 0 && prt->Pin < PCI_NINTPINS);
+        assert(prt->Pin < PCI_NINTPINS);
 
         char *esource = calloc(strlen(prt->Source) * 2, 1);
         for(int i = 0, j = 0; i < strlen(prt->Source) + 1; i++, j++) {
index 32caf78..bde74e7 100644 (file)
@@ -49,7 +49,7 @@ static void rx_list_call(struct ahci_mgmt_binding *b)
 {
     AHCID_DEBUG("got list call\n");
     uint8_t port;
-    uint8_t current_num_ports = (num_ports == -1 ? 0 : num_ports);
+    uint8_t current_num_ports = (num_ports == (uint8_t)-1 ? 0 : num_ports);
     uint8_t next_port = 0;
     uint8_t *port_ids = malloc(current_num_ports);
     for (port = 0; port < current_num_ports; port++) {
index 84ef5b2..cbe095d 100644 (file)
@@ -136,7 +136,7 @@ static inline int e10k_queue_add_txbuf_ctx(e10k_queue_t* q, uint64_t phys,
     e10k_q_tdesc_adv_rd_ifcs_insert(d, 1);
     e10k_q_tdesc_adv_rd_eop_insert(d, last);
 
-    if (ctx != -1U) {
+    if (ctx != (uint8_t)-1) {
         e10k_q_tdesc_adv_rd_idx_insert(d, ctx);
         e10k_q_tdesc_adv_rd_cc_insert(d, 1);
         e10k_q_tdesc_adv_rd_ixsm_insert(d, ixsm);
index 7946e0a..c4a4c90 100644 (file)
@@ -96,7 +96,7 @@ int main(int argc, char *argv[])
             portbase = (uint16_t) x;
         } else if (strncmp(argv[i], "irq=", sizeof("irq=") - 1) == 0) {
              unsigned long x = strtoul(argv[i] + sizeof("irq=") - 1, NULL, 0);
-             if (irq == 0 || irq > 255) {
+             if (irq == 0) {
                 fprintf(stderr, "Error: invalid IRQ %lu\n", x);
                 goto usage;
             }
index 903c2e4..9915831 100644 (file)
@@ -417,14 +417,20 @@ efx_mac_hash_set(
        EFX_ZERO_OWORD(epp->ep_multicst_hash[0]);
        for (idx = 0; idx < 128; idx++) {
                if (bucket[idx] != 0)
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wtype-limits"
                        EFX_SET_OWORD_BIT(epp->ep_multicst_hash[0], idx);
+#pragma GCC diagnostic pop
        }
 
        /* Set the upper 128 bits of the hash */
        EFX_ZERO_OWORD(epp->ep_multicst_hash[1]);
        for (idx = 0; idx < 128; idx++) {
                if (bucket[idx + 128] != 0)
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wtype-limits"
                        EFX_SET_OWORD_BIT(epp->ep_multicst_hash[1], idx);
+#pragma GCC diagnostic pop
        }
 
        if ((rc = emop->emo_reconfigure(enp)) != 0)
index 45dbf8b..4c75d79 100644 (file)
@@ -29,7 +29,6 @@
 #include <dev/pci_sr_iov_cap_dev.h>
 
 #include "pci.h"
-#include "driver_mapping.h"
 #include "ht_config.h"
 #include <dev/ht_config_dev.h>
 #include "pci_debug.h"
@@ -800,8 +799,7 @@ static void assign_bus_numbers(struct pci_address parentaddr,
 
                     // Walk capabilities list
                     while (cap_ptr != 0) {
-                        assert(cap_ptr % 4 == 0 && cap_ptr >= 0x40
-                               && cap_ptr < 0x100);
+                        assert(cap_ptr % 4 == 0 && cap_ptr >= 0x40);
                         uint32_t capword = pci_read_conf_header(&addr,
                                                                 cap_ptr / 4);