jasonacox / TM1637TinyDisplay

Arduino library to display numbers and text on a 4 and 6 digit 7-segment TM1637 display modules.
GNU Lesser General Public License v3.0
69 stars 19 forks source link

Compile warnings #37

Open AndrewMcW opened 6 months ago

AndrewMcW commented 6 months ago

When I do the first compile of a new project (or Clean then compile), I receive several warnings.

None of these warning appear to be anything serious and the project works fine - it's really just cosmetic.

The first two warning relate to the redefinition af the labs macro:

lib\TM1637TinyDisplay\TM1637TinyDisplay.cpp:32:0: warning: "labs" redefined
 #define labs(x) ((x)>0?(x):-(x))

In file included from lib\TM1637TinyDisplay\TM1637TinyDisplay.cpp:24:0:
c:\users\andre\.platformio\packages\toolchain-atmelavr\avr\include\stdlib.h:132:0: note: this is the location of the previous definition
 #define labs(__i) __builtin_labs(__i)

lib\TM1637TinyDisplay\TM1637TinyDisplay6.cpp:32:0: warning: "labs" redefined
 #define labs(x) ((x)>0?(x):-(x))

In file included from lib\TM1637TinyDisplay\TM1637TinyDisplay6.cpp:24:0:
c:\users\andre\.platformio\packages\toolchain-atmelavr\avr\include\stdlib.h:132:0: note: this is the location of the previous definition
 #define labs(__i) __builtin_labs(__i)

The second group of warnings are all int/unsigned int mismatch in for loops:

lib\TM1637TinyDisplay\TM1637TinyDisplay.cpp: In member function 'void TM1637TinyDisplay::showString(const char*, uint8_t, uint8_t, uint8_t)':
lib\TM1637TinyDisplay\TM1637TinyDisplay.cpp:432:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for (int x = 0; x < strlen(s); x++) {
                     ~~^~~~~~~~~~~
lib\TM1637TinyDisplay\TM1637TinyDisplay.cpp: In member function 'void TM1637TinyDisplay::showString_P(const char*, uint8_t, uint8_t, uint8_t)':
lib\TM1637TinyDisplay\TM1637TinyDisplay.cpp:483:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for (int x = 0; x < strlen_P(s); x++) {
                     ~~^~~~~~~~~~~~~
lib\TM1637TinyDisplay\TM1637TinyDisplay.cpp: In member function 'bool TM1637TinyDisplay::Animate(bool)':
lib\TM1637TinyDisplay\TM1637TinyDisplay.cpp:614:43: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
                 if (offset >= 0 && offset < m_animation_frames - (2 * MAXDIGITS)) {
                                    ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
lib\TM1637TinyDisplay\TM1637TinyDisplay.cpp:625:43: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
                 if (offset >= 0 && offset < m_animation_frames - (2 * MAXDIGITS)) {
                                    ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Compiling .pio\build\attiny84_via_arduino_ISP\FrameworkArduino\HardwareSerial.cpp.o
lib\TM1637TinyDisplay\TM1637TinyDisplay6.cpp: In member function 'void TM1637TinyDisplay6::showString(const char*, uint8_t, uint8_t, uint8_t)':
lib\TM1637TinyDisplay\TM1637TinyDisplay6.cpp:435:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for (int x = 0; x < strlen(s); x++) {
                     ~~^~~~~~~~~~~
lib\TM1637TinyDisplay\TM1637TinyDisplay6.cpp: In member function 'void TM1637TinyDisplay6::showString_P(const char*, uint8_t, uint8_t, uint8_t)':
lib\TM1637TinyDisplay\TM1637TinyDisplay6.cpp:486:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for (int x = 0; x < strlen_P(s); x++) {
                     ~~^~~~~~~~~~~~~
lib\TM1637TinyDisplay\TM1637TinyDisplay6.cpp: In member function 'bool TM1637TinyDisplay6::Animate(bool)':
lib\TM1637TinyDisplay\TM1637TinyDisplay6.cpp:617:43: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
                 if (offset >= 0 && offset < m_animation_frames - (2 * MAXDIGITS)) {
                                    ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
lib\TM1637TinyDisplay\TM1637TinyDisplay6.cpp:628:43: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
                 if (offset >= 0 && offset < m_animation_frames - (2 * MAXDIGITS)) {

System configuration: Using VS Code (1.85.1 date 2023-12-13) PlatformIO (v3.3.2) Windows 10 home v 10.0.19045