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 card10/firmware!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.
Finish editing this message first!
Please register or to comment