Skip to content
Snippets Groups Projects
Commit cac0bcf3 authored by rahix's avatar rahix
Browse files

Merge 'faulty unsigned comparisons'

Fix faulty error handling due to always-false unsigned comparisons.
`-Wtype-limits` revealed three errors in the firmware:

    ../pycardium/modules/sys_leds.c: In function 'mp_leds_get_rocket':
    ../pycardium/modules/sys_leds.c:207:10: warning: comparison is
                always false due to limited range of data type [-Wtype-limits]
      207 |  if (ret == -EINVAL) {
          |          ^~


    ../pycardium/mphalport.c: In function 'mp_hal_set_interrupt_char':
    ../pycardium/mphalport.c:115:8: warning: comparison is always true
                due to limited range of data type [-Wtype-limits]
      115 |  if (c != -1) {
          |        ^~

    ../epicardium/modules/bhi.c: In function 'epic_bhi160_enable_sensor':
    ../epicardium/modules/bhi.c:134:12: warning: comparison is always
                false due to limited range of data type [-Wtype-limits]
      134 |  if (vs_id < 0) {
          |            ^
    ../epicardium/modules/bhi.c: In function 'epic_bhi160_disable_sensor':
    ../epicardium/modules/bhi.c:191:12: warning: comparison is always
                false due to limited range of data type [-Wtype-limits]
      191 |  if (vs_id < 0) {
          |            ^

Note that on the target platform `char` and `enum`s are unsigned.  The
compiler has probably removed all of these `if`s so far because the
conditions were determined to always be false.

See merge request !357
parents 87bccda8 d189f48e
No related branches found
No related tags found
No related merge requests found
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment