r-map / rmap

rete monitoraggio ambientale partecipativo documentation at https://doc.rmap.cc
https://rmap.cc
52 stars 43 forks source link

firmware v3: SensorDriver library -> warning: operation on 'i' may be undefined [-Wsequence-point] #320

Closed pat1 closed 3 years ago

pat1 commented 3 years ago

https://stackoverflow.com/questions/26961858/operation-on-i-may-be-undefined

/home/pat1/git/rmap/arduino/sketchbook/libraries/SensorDriver/SensorDriver.cpp: In member function 'virtual void SensorDriverRain::prepare(bool)':
/home/pat1/git/rmap/arduino/sketchbook/libraries/SensorDriver/SensorDriver.cpp:1080:37: warning: operation on 'i' may be undefined [-Wsequence-point]
 1080 |         _buffer[i] = crc8(_buffer, i++);
      |                                    ~^~
/home/pat1/git/rmap/arduino/sketchbook/libraries/SensorDriver/SensorDriver.cpp:1080:37: warning: operation on 'i' may be undefined [-Wsequence-point]
/home/pat1/git/rmap/arduino/sketchbook/libraries/SensorDriver/SensorDriver.cpp:1084:37: warning: operation on 'i' may be undefined [-Wsequence-point]
 1084 |         _buffer[i] = crc8(_buffer, i++);
      |                                    ~^~
/home/pat1/git/rmap/arduino/sketchbook/libraries/SensorDriver/SensorDriver.cpp:1084:37: warning: operation on 'i' may be undefined [-Wsequence-point]
/home/pat1/git/rmap/arduino/sketchbook/libraries/SensorDriver/SensorDriver.cpp: In member function 'virtual void SensorDriverRain::get(int32_t*, uint8_t)':
/home/pat1/git/rmap/arduino/sketchbook/libraries/SensorDriver/SensorDriver.cpp:1145:37: warning: operation on 'i' may be undefined [-Wsequence-point]
 1145 |         _buffer[i] = crc8(_buffer, i++);
      |                                    ~^~
/home/pat1/git/rmap/arduino/sketchbook/libraries/SensorDriver/SensorDriver.cpp:1145:37: warning: operation on 'i' may be undefined [-Wsequence-point]
/home/pat1/git/rmap/arduino/sketchbook/libraries/SensorDriver/SensorDriver.cpp:1176:51: warning: ISO C++ says that these are ambiguous, even though the worst conversion for the first is better than the worst conversion for the second:
 1176 |         Wire.requestFrom(_address, data_length + 1);
      |                                                   ^
In file included from /home/pat1/git/rmap/arduino/sketchbook/libraries/LiquidCrystal_I2C/LiquidCrystal_I2C.h:7,
                 from /home/pat1/git/rmap/arduino/sketchbook/libraries/Rmap/debug.h:28,
                 from /home/pat1/git/rmap/arduino/sketchbook/libraries/SensorDriver/SensorDriver.h:26,
                 from /home/pat1/git/rmap/arduino/sketchbook/libraries/SensorDriver/SensorDriver.cpp:31:
/home/pat1/.platformio/packages/framework-arduinoststm32/libraries/Wire/src/Wire.h:100:13: note: candidate 1: 'uint8_t TwoWire::requestFrom(int, int)'
  100 |     uint8_t requestFrom(int, int);
      |             ^~~~~~~~~~~
/home/pat1/.platformio/packages/framework-arduinoststm32/libraries/Wire/src/Wire.h:97:13: note: candidate 2: 'uint8_t TwoWire::requestFrom(uint8_t, uint8_t)'
   97 |     uint8_t requestFrom(uint8_t, uint8_t);
      |             ^~~~~~~~~~~
/home/pat1/git/rmap/arduino/sketchbook/libraries/SensorDriver/SensorDriver.cpp: In member function 'virtual void SensorDriverTh::setup(uint8_t, uint8_t)':
/home/pat1/git/rmap/arduino/sketchbook/libraries/SensorDriver/SensorDriver.cpp:1293:35: warning: operation on 'i' may be undefined [-Wsequence-point]
 1293 |       _buffer[i] = crc8(_buffer, i++);
      |                                  ~^~
/home/pat1/git/rmap/arduino/sketchbook/libraries/SensorDriver/SensorDriver.cpp:1293:35: warning: operation on 'i' may be undefined [-Wsequence-point]
/home/pat1/git/rmap/arduino/sketchbook/libraries/SensorDriver/SensorDriver.cpp: In member function 'virtual void SensorDriverTh::prepare(bool)':
/home/pat1/git/rmap/arduino/sketchbook/libraries/SensorDriver/SensorDriver.cpp:1328:35: warning: operation on 'i' may be undefined [-Wsequence-point]
 1328 |       _buffer[i] = crc8(_buffer, i++);
      |                                  ~^~
/home/pat1/git/rmap/arduino/sketchbook/libraries/SensorDriver/SensorDriver.cpp:1328:35: warning: operation on 'i' may be undefined [-Wsequence-point]
/home/pat1/git/rmap/arduino/sketchbook/libraries/SensorDriver/SensorDriver.cpp:1337:37: warning: operation on 'i' may be undefined [-Wsequence-point]
 1337 |         _buffer[i] = crc8(_buffer, i++);
      |                                    ~^~
/home/pat1/git/rmap/arduino/sketchbook/libraries/SensorDriver/SensorDriver.cpp:1337:37: warning: operation on 'i' may be undefined [-Wsequence-point]
/home/pat1/git/rmap/arduino/sketchbook/libraries/SensorDriver/SensorDriver.cpp:1341:37: warning: operation on 'i' may be undefined [-Wsequence-point]
 1341 |         _buffer[i] = crc8(_buffer, i++);
      |                                    ~^~
/home/pat1/git/rmap/arduino/sketchbook/libraries/SensorDriver/SensorDriver.cpp:1341:37: warning: operation on 'i' may be undefined [-Wsequence-point]
/home/pat1/git/rmap/arduino/sketchbook/libraries/SensorDriver/SensorDriver.cpp: In member function 'virtual void SensorDriverTh::get(int32_t*, uint8_t)':
/home/pat1/git/rmap/arduino/sketchbook/libraries/SensorDriver/SensorDriver.cpp:1404:37: warning: operation on 'i' may be undefined [-Wsequence-point]
 1404 |         _buffer[i] = crc8(_buffer, i++);
      |                                    ~^~
/home/pat1/git/rmap/arduino/sketchbook/libraries/SensorDriver/SensorDriver.cpp:1404:37: warning: operation on 'i' may be undefined [-Wsequence-point]
/home/pat1/git/rmap/arduino/sketchbook/libraries/SensorDriver/SensorDriver.cpp:1410:37: warning: operation on 'i' may be undefined [-Wsequence-point]
 1410 |         _buffer[i] = crc8(_buffer, i++);
      |                                    ~^~
/home/pat1/git/rmap/arduino/sketchbook/libraries/SensorDriver/SensorDriver.cpp:1410:37: warning: operation on 'i' may be undefined [-Wsequence-point]
/home/pat1/git/rmap/arduino/sketchbook/libraries/SensorDriver/SensorDriver.cpp:1416:37: warning: operation on 'i' may be undefined [-Wsequence-point]
 1416 |         _buffer[i] = crc8(_buffer, i++);
      |                                    ~^~
/home/pat1/git/rmap/arduino/sketchbook/libraries/SensorDriver/SensorDriver.cpp:1416:37: warning: operation on 'i' may be undefined [-Wsequence-point]
/home/pat1/git/rmap/arduino/sketchbook/libraries/SensorDriver/SensorDriver.cpp:1422:37: warning: operation on 'i' may be undefined [-Wsequence-point]
 1422 |         _buffer[i] = crc8(_buffer, i++);
      |                                    ~^~
/home/pat1/git/rmap/arduino/sketchbook/libraries/SensorDriver/SensorDriver.cpp:1422:37: warning: operation on 'i' may be undefined [-Wsequence-point]
/home/pat1/git/rmap/arduino/sketchbook/libraries/SensorDriver/SensorDriver.cpp:1428:37: warning: operation on 'i' may be undefined [-Wsequence-point]
 1428 |         _buffer[i] = crc8(_buffer, i++);
      |                                    ~^~
/home/pat1/git/rmap/arduino/sketchbook/libraries/SensorDriver/SensorDriver.cpp:1428:37: warning: operation on 'i' may be undefined [-Wsequence-point]
/home/pat1/git/rmap/arduino/sketchbook/libraries/SensorDriver/SensorDriver.cpp:1468:51: warning: ISO C++ says that these are ambiguous, even though the worst conversion for the first is better than the worst conversion for the second:
 1468 |         Wire.requestFrom(_address, data_length + 1);
      |                                                   ^
In file included from /home/pat1/git/rmap/arduino/sketchbook/libraries/LiquidCrystal_I2C/LiquidCrystal_I2C.h:7,
                 from /home/pat1/git/rmap/arduino/sketchbook/libraries/Rmap/debug.h:28,
                 from /home/pat1/git/rmap/arduino/sketchbook/libraries/SensorDriver/SensorDriver.h:26,
                 from /home/pat1/git/rmap/arduino/sketchbook/libraries/SensorDriver/SensorDriver.cpp:31:
/home/pat1/.platformio/packages/framework-arduinoststm32/libraries/Wire/src/Wire.h:100:13: note: candidate 1: 'uint8_t TwoWire::requestFrom(int, int)'
  100 |     uint8_t requestFrom(int, int);
      |             ^~~~~~~~~~~
/home/pat1/.platformio/packages/framework-arduinoststm32/libraries/Wire/src/Wire.h:97:13: note: candidate 2: 'uint8_t TwoWire::requestFrom(uint8_t, uint8_t)'
   97 |     uint8_t requestFrom(uint8_t, uint8_t);
      |             ^~~~~~~~~~~
/home/pat1/git/rmap/arduino/sketchbook/libraries/SensorDriver/SensorDriver.cpp:1504:35: warning: operation on 'i' may be undefined [-Wsequence-point]
 1504 |       _buffer[i] = crc8(_buffer, i++);
      |                                  ~^~
/home/pat1/git/rmap/arduino/sketchbook/libraries/SensorDriver/SensorDriver.cpp:1504:35: warning: operation on 'i' may be undefined [-Wsequence-point]
/home/pat1/git/rmap/arduino/sketchbook/libraries/SensorDriver/SensorDriver.cpp:1510:35: warning: operation on 'i' may be undefined [-Wsequence-point]
 1510 |       _buffer[i] = crc8(_buffer, i++);
      |                                  ~^~
/home/pat1/git/rmap/arduino/sketchbook/libraries/SensorDriver/SensorDriver.cpp:1510:35: warning: operation on 'i' may be undefined [-Wsequence-point]
/home/pat1/git/rmap/arduino/sketchbook/libraries/SensorDriver/SensorDriver.cpp:1516:35: warning: operation on 'i' may be undefined [-Wsequence-point]
 1516 |       _buffer[i] = crc8(_buffer, i++);
      |                                  ~^~
/home/pat1/git/rmap/arduino/sketchbook/libraries/SensorDriver/SensorDriver.cpp:1516:35: warning: operation on 'i' may be undefined [-Wsequence-point]
/home/pat1/git/rmap/arduino/sketchbook/libraries/SensorDriver/SensorDriver.cpp:1522:35: warning: operation on 'i' may be undefined [-Wsequence-point]
 1522 |       _buffer[i] = crc8(_buffer, i++);
      |                                  ~^~
/home/pat1/git/rmap/arduino/sketchbook/libraries/SensorDriver/SensorDriver.cpp:1522:35: warning: operation on 'i' may be undefined [-Wsequence-point]
/home/pat1/git/rmap/arduino/sketchbook/libraries/SensorDriver/SensorDriver.cpp:1528:35: warning: operation on 'i' may be undefined [-Wsequence-point]
 1528 |       _buffer[i] = crc8(_buffer, i++);
      |                                  ~^~
/home/pat1/git/rmap/arduino/sketchbook/libraries/SensorDriver/SensorDriver.cpp:1528:35: warning: operation on 'i' may be undefined [-Wsequence-point]
/home/pat1/git/rmap/arduino/sketchbook/libraries/SensorDriver/SensorDriver.cpp:1571:51: warning: ISO C++ says that these are ambiguous, even though the worst conversion for the first is better than the worst conversion for the second:
 1571 |         Wire.requestFrom(_address, data_length + 1);
      |                                                   ^
In file included from /home/pat1/git/rmap/arduino/sketchbook/libraries/LiquidCrystal_I2C/LiquidCrystal_I2C.h:7,
                 from /home/pat1/git/rmap/arduino/sketchbook/libraries/Rmap/debug.h:28,
                 from /home/pat1/git/rmap/arduino/sketchbook/libraries/SensorDriver/SensorDriver.h:26,
                 from /home/pat1/git/rmap/arduino/sketchbook/libraries/SensorDriver/SensorDriver.cpp:31:
/home/pat1/.platformio/packages/framework-arduinoststm32/libraries/Wire/src/Wire.h:100:13: note: candidate 1: 'uint8_t TwoWire::requestFrom(int, int)'
  100 |     uint8_t requestFrom(int, int);
      |             ^~~~~~~~~~~
/home/pat1/.platformio/packages/framework-arduinoststm32/libraries/Wire/src/Wire.h:97:13: note: candidate 2: 'uint8_t TwoWire::requestFrom(uint8_t, uint8_t)'
   97 |     uint8_t requestFrom(uint8_t, uint8_t);
      |             ^~~~~~~~~~~