bxparks / AceButton

An adjustable, compact, event-driven button library for Arduino that debounces and dispatches events to a user-defined event handler.
MIT License
385 stars 37 forks source link

warning: "DEPRECATED" redefined #54

Closed denis-stepanov closed 3 years ago

denis-stepanov commented 3 years ago

I observe the following:

"/home/dns/.arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-4-b40a506/bin/xtensa-lx106-elf-g++" -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ "-I/home/dns/.arduino15/packages/esp8266/hardware/esp8266/2.7.4/tools/sdk/include" "-I/home/dns/.arduino15/packages/esp8266/hardware/esp8266/2.7.4/tools/sdk/lwip2/include" "-I/home/dns/.arduino15/packages/esp8266/hardware/esp8266/2.7.4/tools/sdk/libc/xtensa-lx106-elf/include" "-I/tmp/arduino_build_36749/core" -c -Wall -Wextra -Os -g -mlongcalls -mtext-section-literals -fno-rtti -falign-functions=4 -std=gnu++11 -MMD -ffunction-sections -fdata-sections -fno-exceptions  -DNONOSDK22x_190703=1 -DF_CPU=80000000L -DLWIP_OPEN_SRC -DTCP_MSS=536 -DLWIP_FEATURES=1 -DLWIP_IPV6=0   -DARDUINO=10813 -DARDUINO_ESP8266_GENERIC -DARDUINO_ARCH_ESP8266 -DARDUINO_BOARD="ESP8266_GENERIC" -DLED_BUILTIN=2 -DFLASHMODE_DOUT  -DESP8266 "-I/home/dns/.arduino15/packages/esp8266/hardware/esp8266/2.7.4/cores/esp8266" "-I/home/dns/.arduino15/packages/esp8266/hardware/esp8266/2.7.4/variants/generic" "-I/home/dns/Arduino/libraries/JLed/src" "-I/home/dns/.arduino15/packages/esp8266/hardware/esp8266/2.7.4/libraries/ESP8266WebServer/src" "-I/home/dns/.arduino15/packages/esp8266/hardware/esp8266/2.7.4/libraries/ESP8266WiFi/src" "-I/home/dns/Arduino/libraries/AceButton/src" "-I/home/dns/.arduino15/packages/esp8266/hardware/esp8266/2.7.4/libraries/Ticker/src" "-I/home/dns/Arduino/libraries/LinkedList" "-I/home/dns/Arduino/libraries/UniversalTelegramBot/src" "-I/home/dns/Arduino/libraries/ArduinoJson/src" "-I/home/dns/.arduino15/packages/esp8266/hardware/esp8266/2.7.4/libraries/ESP8266HTTPClient/src" "-I/home/dns/Arduino/libraries/Uptime_Library/src" "-I/home/dns/.arduino15/packages/esp8266/hardware/esp8266/2.7.4/libraries/LittleFS/src" "-I/home/dns/Arduino/libraries/WiFiManager" "-I/home/dns/.arduino15/packages/esp8266/hardware/esp8266/2.7.4/libraries/DNSServer/src" "-I/home/dns/.arduino15/packages/esp8266/hardware/esp8266/2.7.4/libraries/ESP8266mDNS/src" "/tmp/arduino_build_36749/sketch/MailBox.cpp" -o "/tmp/arduino_build_36749/sketch/MailBox.cpp.o"
In file included from /home/dns/Arduino/libraries/ArduinoJson/src/ArduinoJson/Deserialization/../JsonVariantCasts.hpp:8:0,
                 from /home/dns/Arduino/libraries/ArduinoJson/src/ArduinoJson/Deserialization/../JsonVariantBase.hpp:7,
                 from /home/dns/Arduino/libraries/ArduinoJson/src/ArduinoJson/Deserialization/../JsonVariant.hpp:13,
                 from /home/dns/Arduino/libraries/ArduinoJson/src/ArduinoJson/Deserialization/../JsonBuffer.hpp:12,
                 from /home/dns/Arduino/libraries/ArduinoJson/src/ArduinoJson/Deserialization/JsonParser.hpp:7,
                 from /home/dns/Arduino/libraries/ArduinoJson/src/ArduinoJson/JsonBufferBase.hpp:7,
                 from /home/dns/Arduino/libraries/ArduinoJson/src/ArduinoJson/DynamicJsonBuffer.hpp:7,
                 from /home/dns/Arduino/libraries/ArduinoJson/src/ArduinoJson.hpp:9,
                 from /home/dns/Arduino/libraries/ArduinoJson/src/ArduinoJson.h:9,
                 from /home/dns/Arduino/libraries/UniversalTelegramBot/src/UniversalTelegramBot.h:26,
                 from /tmp/arduino_build_36749/sketch/Telegram.h:12,
                 from /tmp/arduino_build_36749/sketch/MailBox.cpp:10:
/home/dns/Arduino/libraries/ArduinoJson/src/ArduinoJson/Deserialization/../Polyfills/attributes.hpp:18:0: warning: "DEPRECATED" redefined [enabled by default]
 #define DEPRECATED(msg) __attribute__((deprecated(msg)))
 ^
In file included from /home/dns/Arduino/libraries/AceButton/src/AceButton.h:36:0,
                 from /tmp/arduino_build_36749/sketch/System.h:75,
                 from /tmp/arduino_build_36749/sketch/MySystem.h:42,
                 from /tmp/arduino_build_36749/sketch/MailBox.cpp:9:
/home/dns/Arduino/libraries/AceButton/src/ace_button/ButtonConfig.h:33:0: note: this is the location of the previous definition
   #define DEPRECATED __attribute__((deprecated))
 ^

ArduinoJson 5.13.5 AceButton 1.6.1

Even though in this case it is ArduinoJson who's guilty for DEPRECATED redefinition, the AceButton code does not seem to be protected from this either.

bxparks commented 3 years ago

Thanks for the note Denis. I renamed this macro to ACE_BUTTON_DEPRECATED which hopefully will prevent any future name conflicts.