Closed wrgallo closed 1 year ago
@wrgallo thanks for your feedback :+1:
Is there an exhaustive build_flags
value for platformio.ini you can suggest to meet said standards?
@wrgallo thanks for your feedback +1
Is there an exhaustive
build_flags
value for platformio.ini you can suggest to meet said standards?
-Wall -Wextra -Wshadow -Wdouble-promotion -Wformat -Wnonnull
thanks :+1: will try to use it where possible
closing this issue as solved, feel free to reopen if needed
@tobozo
closing this issue as solved, feel free to reopen if needed
There is still one last pending -WShadow
warning at lgfx_fonts.hpp
declaration of 'range_num' shadows a member of 'lgfx::v1::GFXfont' [-Wshadow]
oh right, looks like there's some warnings in lgfx/utility/lgfx_qrcode.c
too, reopening
edit: link to unified diff (whitespaces disabled)
I managed to reduce the warnings to this.
Note: all -Wshadow
warnings are now deliberately silent with all v0
codebase.
As this part of the library won't be maintained any more I didn't bother fixing the warnings there and only added some pragmas to get them silent.
I've also left the [-Wdouble-promotion]
warnings in place as I don't know what could be the effects, and it's not my decision to change that.
However, a few -Wshadow
warnings are still emitted by the arduino packages, I'm not sure how to cope with that.
I've created a special branch with the -Wshadow
changes,.
this will need @lovyan03's approval though
Processing esp32@default (board: esp32dev; platform: https://github.com/tasmota/platform-espressif32; framework: arduino)
--------------------------------------------------------------------------------
Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/espressif32/esp32dev.html
PLATFORM: Espressif 32 (2.0.5+sha.f53ca2d) > Espressif ESP32 Dev Module
HARDWARE: ESP32 240MHz, 320KB RAM, 4MB Flash
DEBUG: Current (cmsis-dap) External (cmsis-dap, esp-bridge, esp-prog, iot-bus-jtag, jlink, minimodule, olimex-arm-usb-ocd, olimex-arm-usb-ocd-h, olimex-arm-usb-tiny-h, olimex-jtag-tiny, tumpa)
PACKAGES:
- framework-arduinoespressif32 @ 2.0.5
- tool-esptoolpy @ 1.40300.220914 (4.3.0)
- tool-mklittlefs @ 1.203.210628 (2.3)
- tool-mkspiffs @ 2.230.0 (2.30)
- toolchain-xtensa-esp32 @ 8.4.0+2021r2-patch5
LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 33 compatible libraries
Scanning dependencies...
Dependency Graph
|-- LovyanGFX @ 0.4.18
| |-- SPI @ 2.0.0
| |-- Wire @ 2.0.0
|-- SPIFFS @ 2.0.0
| |-- FS @ 2.0.0
Building in release mode
Compiling .pio/build/esp32@default/libac3/LovyanGFX/lgfx/Fonts/IPA/lgfx_font_japan.c.o
Compiling .pio/build/esp32@default/libac3/LovyanGFX/lgfx/Fonts/efont/lgfx_efont_cn.c.o
Compiling .pio/build/esp32@default/libac3/LovyanGFX/lgfx/Fonts/efont/lgfx_efont_ja.c.o
Compiling .pio/build/esp32@default/libac3/LovyanGFX/lgfx/Fonts/efont/lgfx_efont_kr.c.o
Compiling .pio/build/esp32@default/libac3/LovyanGFX/lgfx/Fonts/efont/lgfx_efont_tw.c.o
Compiling .pio/build/esp32@default/libac3/LovyanGFX/lgfx/utility/lgfx_pngle.c.o
Compiling .pio/build/esp32@default/libac3/LovyanGFX/lgfx/utility/lgfx_qoi.c.o
Compiling .pio/build/esp32@default/libac3/LovyanGFX/lgfx/utility/lgfx_qrcode.c.o
Compiling .pio/build/esp32@default/libac3/LovyanGFX/lgfx/utility/lgfx_tjpgd.c.o
Compiling .pio/build/esp32@default/libac3/LovyanGFX/lgfx/utility/miniz.c.o
Compiling .pio/build/esp32@default/libac3/LovyanGFX/lgfx/v0/LGFXBase.cpp.o
Compiling .pio/build/esp32@default/libac3/LovyanGFX/lgfx/v0/lgfx_fonts.cpp.o
Compiling .pio/build/esp32@default/libac3/LovyanGFX/lgfx/v0/panel/Panel_GDEW0154M09.cpp.o
Compiling .pio/build/esp32@default/libac3/LovyanGFX/lgfx/v0/panel/Panel_IT8951.cpp.o
Compiling .pio/build/esp32@default/libac3/LovyanGFX/lgfx/v0/platforms/esp32_common.cpp.o
Compiling .pio/build/esp32@default/libac3/LovyanGFX/lgfx/v0/platforms/samd51_common.cpp.o
Compiling .pio/build/esp32@default/libac3/LovyanGFX/lgfx/v0/touch/Touch_FT5x06.cpp.o
Compiling .pio/build/esp32@default/libac3/LovyanGFX/lgfx/v0/touch/Touch_GT911.cpp.o
Compiling .pio/build/esp32@default/libac3/LovyanGFX/lgfx/v0/touch/Touch_STMPE610.cpp.o
Compiling .pio/build/esp32@default/libac3/LovyanGFX/lgfx/v0/touch/Touch_XPT2046.cpp.o
Compiling .pio/build/esp32@default/libac3/LovyanGFX/lgfx/v1/LGFXBase.cpp.o
Compiling .pio/build/esp32@default/libac3/LovyanGFX/lgfx/v1/LGFX_Button.cpp.o
Compiling .pio/build/esp32@default/libac3/LovyanGFX/lgfx/v1/LGFX_Sprite.cpp.o
Compiling .pio/build/esp32@default/libac3/LovyanGFX/lgfx/v1/lgfx_fonts.cpp.o
Compiling .pio/build/esp32@default/libac3/LovyanGFX/lgfx/v1/misc/SpriteBuffer.cpp.o
Compiling .pio/build/esp32@default/libac3/LovyanGFX/lgfx/v1/misc/common_function.cpp.o
Compiling .pio/build/esp32@default/libac3/LovyanGFX/lgfx/v1/misc/pixelcopy.cpp.o
Compiling .pio/build/esp32@default/libac3/LovyanGFX/lgfx/v1/panel/Panel_Device.cpp.o
Compiling .pio/build/esp32@default/libac3/LovyanGFX/lgfx/v1/panel/Panel_FrameBufferBase.cpp.o
Compiling .pio/build/esp32@default/libac3/LovyanGFX/lgfx/v1/panel/Panel_GDEW0154M09.cpp.o
Compiling .pio/build/esp32@default/libac3/LovyanGFX/lgfx/v1/panel/Panel_HasBuffer.cpp.o
Compiling .pio/build/esp32@default/libac3/LovyanGFX/lgfx/v1/panel/Panel_ILI9225.cpp.o
Compiling .pio/build/esp32@default/libac3/LovyanGFX/lgfx/v1/panel/Panel_IT8951.cpp.o
Compiling .pio/build/esp32@default/libac3/LovyanGFX/lgfx/v1/panel/Panel_LCD.cpp.o
Compiling .pio/build/esp32@default/libac3/LovyanGFX/lgfx/v1/panel/Panel_M5HDMI.cpp.o
Compiling .pio/build/esp32@default/libac3/LovyanGFX/lgfx/v1/panel/Panel_M5UnitLCD.cpp.o
Compiling .pio/build/esp32@default/libac3/LovyanGFX/lgfx/v1/panel/Panel_RA8875.cpp.o
Compiling .pio/build/esp32@default/libac3/LovyanGFX/lgfx/v1/panel/Panel_RM68120.cpp.o
Compiling .pio/build/esp32@default/libac3/LovyanGFX/lgfx/v1/panel/Panel_SSD1306.cpp.o
Compiling .pio/build/esp32@default/libac3/LovyanGFX/lgfx/v1/panel/Panel_SSD1327.cpp.o
Compiling .pio/build/esp32@default/libac3/LovyanGFX/lgfx/v1/panel/Panel_SSD1331.cpp.o
Compiling .pio/build/esp32@default/libac3/LovyanGFX/lgfx/v1/panel/Panel_SSD1351.cpp.o
Compiling .pio/build/esp32@default/libac3/LovyanGFX/lgfx/v1/panel/Panel_SSD1963.cpp.o
Compiling .pio/build/esp32@default/libac3/LovyanGFX/lgfx/v1/platforms/arduino_default/Bus_SPI.cpp.o
Compiling .pio/build/esp32@default/libac3/LovyanGFX/lgfx/v1/platforms/arduino_default/Bus_Stream.cpp.o
Compiling .pio/build/esp32@default/libac3/LovyanGFX/lgfx/v1/platforms/arduino_default/common.cpp.o
Compiling .pio/build/esp32@default/libac3/LovyanGFX/lgfx/v1/platforms/esp32/Bus_I2C.cpp.o
Compiling .pio/build/esp32@default/libac3/LovyanGFX/lgfx/v1/platforms/esp32/Bus_Parallel8.cpp.o
Compiling .pio/build/esp32@default/libac3/LovyanGFX/lgfx/v1/platforms/esp32/Bus_SPI.cpp.o
Compiling .pio/build/esp32@default/libac3/LovyanGFX/lgfx/v1/platforms/esp32/Light_PWM.cpp.o
Compiling .pio/build/esp32@default/libac3/LovyanGFX/lgfx/v1/platforms/esp32/Panel_CVBS.cpp.o
Compiling .pio/build/esp32@default/libac3/LovyanGFX/lgfx/v1/platforms/esp32/common.cpp.o
Compiling .pio/build/esp32@default/libac3/LovyanGFX/lgfx/v1/platforms/esp32c3/Bus_Parallel8.cpp.o
Compiling .pio/build/esp32@default/libac3/LovyanGFX/lgfx/v1/platforms/esp32s2/Bus_Parallel16.cpp.o
Compiling .pio/build/esp32@default/libac3/LovyanGFX/lgfx/v1/platforms/esp32s2/Bus_Parallel8.cpp.o
Compiling .pio/build/esp32@default/libac3/LovyanGFX/lgfx/v1/platforms/esp32s3/Bus_Parallel16.cpp.o
Compiling .pio/build/esp32@default/libac3/LovyanGFX/lgfx/v1/platforms/esp32s3/Bus_Parallel8.cpp.o
Compiling .pio/build/esp32@default/libac3/LovyanGFX/lgfx/v1/platforms/esp8266/Bus_I2C.cpp.o
Compiling .pio/build/esp32@default/libac3/LovyanGFX/lgfx/v1/platforms/esp8266/Bus_SPI.cpp.o
Compiling .pio/build/esp32@default/libac3/LovyanGFX/lgfx/v1/platforms/esp8266/common.cpp.o
Compiling .pio/build/esp32@default/libac3/LovyanGFX/lgfx/v1/platforms/framebuffer/Panel_fb.cpp.o
Compiling .pio/build/esp32@default/libac3/LovyanGFX/lgfx/v1/platforms/framebuffer/common.cpp.o
Compiling .pio/build/esp32@default/libac3/LovyanGFX/lgfx/v1/platforms/opencv/Panel_OpenCV.cpp.o
Compiling .pio/build/esp32@default/libac3/LovyanGFX/lgfx/v1/platforms/opencv/common.cpp.o
Compiling .pio/build/esp32@default/libac3/LovyanGFX/lgfx/v1/platforms/rp2040/Bus_I2C.cpp.o
Compiling .pio/build/esp32@default/libac3/LovyanGFX/lgfx/v1/platforms/rp2040/Bus_SPI.cpp.o
Compiling .pio/build/esp32@default/libac3/LovyanGFX/lgfx/v1/platforms/rp2040/Light_PWM.cpp.o
Compiling .pio/build/esp32@default/libac3/LovyanGFX/lgfx/v1/platforms/rp2040/common.cpp.o
Compiling .pio/build/esp32@default/libac3/LovyanGFX/lgfx/v1/platforms/samd21/Bus_I2C.cpp.o
Compiling .pio/build/esp32@default/libac3/LovyanGFX/lgfx/v1/platforms/samd21/Bus_SPI.cpp.o
Compiling .pio/build/esp32@default/libac3/LovyanGFX/lgfx/v1/platforms/samd21/common.cpp.o
Compiling .pio/build/esp32@default/libac3/LovyanGFX/lgfx/v1/platforms/samd51/Bus_I2C.cpp.o
Compiling .pio/build/esp32@default/libac3/LovyanGFX/lgfx/v1/platforms/samd51/Bus_SPI.cpp.o
Compiling .pio/build/esp32@default/libac3/LovyanGFX/lgfx/v1/platforms/samd51/common.cpp.o
Compiling .pio/build/esp32@default/libac3/LovyanGFX/lgfx/v1/platforms/sdl/Panel_sdl.cpp.o
Compiling .pio/build/esp32@default/libac3/LovyanGFX/lgfx/v1/platforms/sdl/common.cpp.o
Compiling .pio/build/esp32@default/libac3/LovyanGFX/lgfx/v1/platforms/spresense/Bus_SPI.cpp.o
Compiling .pio/build/esp32@default/libac3/LovyanGFX/lgfx/v1/platforms/spresense/common.cpp.o
Compiling .pio/build/esp32@default/libac3/LovyanGFX/lgfx/v1/platforms/stm32/Bus_SPI.cpp.o
Compiling .pio/build/esp32@default/libac3/LovyanGFX/lgfx/v1/platforms/stm32/common.cpp.o
Compiling .pio/build/esp32@default/libac3/LovyanGFX/lgfx/v1/touch/Touch_FT5x06.cpp.o
Compiling .pio/build/esp32@default/libac3/LovyanGFX/lgfx/v1/touch/Touch_GSLx680.cpp.o
Compiling .pio/build/esp32@default/libac3/LovyanGFX/lgfx/v1/touch/Touch_GT911.cpp.o
Compiling .pio/build/esp32@default/libac3/LovyanGFX/lgfx/v1/touch/Touch_NS2009.cpp.o
Compiling .pio/build/esp32@default/libac3/LovyanGFX/lgfx/v1/touch/Touch_STMPE610.cpp.o
Compiling .pio/build/esp32@default/libac3/LovyanGFX/lgfx/v1/touch/Touch_TT21xxx.cpp.o
Compiling .pio/build/esp32@default/libac3/LovyanGFX/lgfx/v1/touch/Touch_XPT2046.cpp.o
Compiling .pio/build/esp32@default/src/main.cpp.o
Generating partitions .pio/build/esp32@default/partitions.bin
Compiling .pio/build/esp32@default/lib368/SPI/SPI.cpp.o
Compiling .pio/build/esp32@default/liba50/Wire/Wire.cpp.o
Compiling .pio/build/esp32@default/lib0c0/FS/FS.cpp.o
Archiving .pio/build/esp32@default/lib368/libSPI.a
Indexing .pio/build/esp32@default/lib368/libSPI.a
Compiling .pio/build/esp32@default/lib0c0/FS/vfs_api.cpp.o
Archiving .pio/build/esp32@default/liba50/libWire.a
Indexing .pio/build/esp32@default/liba50/libWire.a
Compiling .pio/build/esp32@default/liba15/SPIFFS/SPIFFS.cpp.o
Compiling .pio/build/esp32@default/FrameworkArduino/Esp.cpp.o
Archiving .pio/build/esp32@default/lib0c0/libFS.a
Indexing .pio/build/esp32@default/lib0c0/libFS.a
Compiling .pio/build/esp32@default/FrameworkArduino/FirmwareMSC.cpp.o
Compiling .pio/build/esp32@default/FrameworkArduino/FunctionalInterrupt.cpp.o
Archiving .pio/build/esp32@default/liba15/libSPIFFS.a
Indexing .pio/build/esp32@default/liba15/libSPIFFS.a
Compiling .pio/build/esp32@default/FrameworkArduino/HWCDC.cpp.o
Compiling .pio/build/esp32@default/FrameworkArduino/HardwareSerial.cpp.o
~/.platformio/packages/framework-arduinoespressif32/cores/esp32/Esp.cpp: In member function 'uint32_t EspClass::magicFlashChipSize(uint8_t)':
~/.platformio/packages/framework-arduinoespressif32/cores/esp32/Esp.cpp:367:51: warning: declaration of 'byte' shadows a global declaration [-Wshadow]
uint32_t EspClass::magicFlashChipSize(uint8_t byte)
^
In file included from ~/.platformio/packages/framework-arduinoespressif32/cores/esp32/Esp.cpp:20:
~/.platformio/packages/framework-arduinoespressif32/cores/esp32/Arduino.h:133:17: note: shadowed declaration is here
typedef uint8_t byte;
^~~~
~/.platformio/packages/framework-arduinoespressif32/cores/esp32/Esp.cpp: In member function 'uint32_t EspClass::magicFlashChipSpeed(uint8_t)':
~/.platformio/packages/framework-arduinoespressif32/cores/esp32/Esp.cpp:385:52: warning: declaration of 'byte' shadows a global declaration [-Wshadow]
uint32_t EspClass::magicFlashChipSpeed(uint8_t byte)
^
In file included from ~/.platformio/packages/framework-arduinoespressif32/cores/esp32/Esp.cpp:20:
~/.platformio/packages/framework-arduinoespressif32/cores/esp32/Arduino.h:133:17: note: shadowed declaration is here
typedef uint8_t byte;
^~~~
~/.platformio/packages/framework-arduinoespressif32/cores/esp32/Esp.cpp: In member function 'FlashMode_t EspClass::magicFlashChipMode(uint8_t)':
~/.platformio/packages/framework-arduinoespressif32/cores/esp32/Esp.cpp:401:54: warning: declaration of 'byte' shadows a global declaration [-Wshadow]
FlashMode_t EspClass::magicFlashChipMode(uint8_t byte)
^
In file included from ~/.platformio/packages/framework-arduinoespressif32/cores/esp32/Esp.cpp:20:
~/.platformio/packages/framework-arduinoespressif32/cores/esp32/Arduino.h:133:17: note: shadowed declaration is here
typedef uint8_t byte;
^~~~
Compiling .pio/build/esp32@default/FrameworkArduino/IPAddress.cpp.o
Compiling .pio/build/esp32@default/FrameworkArduino/IPv6Address.cpp.o
Compiling .pio/build/esp32@default/FrameworkArduino/MD5Builder.cpp.o
Compiling .pio/build/esp32@default/FrameworkArduino/Print.cpp.o
Compiling .pio/build/esp32@default/FrameworkArduino/Stream.cpp.o
Compiling .pio/build/esp32@default/FrameworkArduino/StreamString.cpp.o
Compiling .pio/build/esp32@default/FrameworkArduino/Tone.cpp.o
Compiling .pio/build/esp32@default/FrameworkArduino/USB.cpp.o
Compiling .pio/build/esp32@default/FrameworkArduino/USBCDC.cpp.o
Compiling .pio/build/esp32@default/FrameworkArduino/USBMSC.cpp.o
Compiling .pio/build/esp32@default/FrameworkArduino/WMath.cpp.o
Compiling .pio/build/esp32@default/FrameworkArduino/WString.cpp.o
Compiling .pio/build/esp32@default/FrameworkArduino/base64.cpp.o
Compiling .pio/build/esp32@default/FrameworkArduino/cbuf.cpp.o
Compiling .pio/build/esp32@default/FrameworkArduino/esp32-hal-adc.c.o
Compiling .pio/build/esp32@default/FrameworkArduino/esp32-hal-bt.c.o
Compiling .pio/build/esp32@default/FrameworkArduino/esp32-hal-cpu.c.o
Compiling .pio/build/esp32@default/FrameworkArduino/esp32-hal-dac.c.o
Compiling .pio/build/esp32@default/FrameworkArduino/esp32-hal-gpio.c.o
Compiling .pio/build/esp32@default/FrameworkArduino/esp32-hal-i2c-slave.c.o
Compiling .pio/build/esp32@default/FrameworkArduino/esp32-hal-i2c.c.o
~/.platformio/packages/framework-arduinoespressif32/cores/esp32/esp32-hal-i2c-slave.c: In function 'i2c_slave_check_line_state':
~/.platformio/packages/framework-arduinoespressif32/cores/esp32/esp32-hal-i2c-slave.c:547:30: warning: declaration of 'a' shadows a previous local [-Wshadow]
for (uint8_t a=0;a<9; a++) {
^
~/.platformio/packages/framework-arduinoespressif32/cores/esp32/esp32-hal-i2c-slave.c:541:22: note: shadowed declaration is here
for (uint8_t a=0; a<9; a++) {
^
Compiling .pio/build/esp32@default/FrameworkArduino/esp32-hal-ledc.c.o
Compiling .pio/build/esp32@default/FrameworkArduino/esp32-hal-matrix.c.o
Compiling .pio/build/esp32@default/FrameworkArduino/esp32-hal-misc.c.o
Compiling .pio/build/esp32@default/FrameworkArduino/esp32-hal-psram.c.o
Compiling .pio/build/esp32@default/FrameworkArduino/esp32-hal-rgb-led.c.o
Compiling .pio/build/esp32@default/FrameworkArduino/esp32-hal-rmt.c.o
Compiling .pio/build/esp32@default/FrameworkArduino/esp32-hal-sigmadelta.c.o
Compiling .pio/build/esp32@default/FrameworkArduino/esp32-hal-spi.c.o
Compiling .pio/build/esp32@default/FrameworkArduino/esp32-hal-time.c.o
Compiling .pio/build/esp32@default/FrameworkArduino/esp32-hal-timer.c.o
Compiling .pio/build/esp32@default/FrameworkArduino/esp32-hal-tinyusb.c.o
Compiling .pio/build/esp32@default/FrameworkArduino/esp32-hal-touch.c.o
Compiling .pio/build/esp32@default/FrameworkArduino/esp32-hal-uart.c.o
Compiling .pio/build/esp32@default/FrameworkArduino/firmware_msc_fat.c.o
Compiling .pio/build/esp32@default/FrameworkArduino/libb64/cdecode.c.o
Compiling .pio/build/esp32@default/FrameworkArduino/libb64/cencode.c.o
Compiling .pio/build/esp32@default/FrameworkArduino/main.cpp.o
Compiling .pio/build/esp32@default/FrameworkArduino/stdlib_noniso.c.o
Compiling .pio/build/esp32@default/FrameworkArduino/wiring_pulse.c.o
Compiling .pio/build/esp32@default/FrameworkArduino/wiring_shift.c.o
Archiving .pio/build/esp32@default/libFrameworkArduino.a
Indexing .pio/build/esp32@default/libFrameworkArduino.a
Linking .pio/build/esp32@default/firmware.elf
Retrieving maximum program size .pio/build/esp32@default/firmware.elf
Checking size .pio/build/esp32@default/firmware.elf
Advanced Memory Usage is available via "PlatformIO Home > Project Inspect"
RAM: [ ] 4.9% (used 15904 bytes from 327680 bytes)
Flash: [== ] 19.6% (used 257209 bytes from 1310720 bytes)
Building .pio/build/esp32@default/firmware.bin
esptool.py v4.3
Creating esp32 image...
Merged 2 ELF sections
Successfully created esp32 image.
========================= [SUCCESS] Took 39.98 seconds =========================
Environment Status Duration
------------- -------- ------------
esp32@default SUCCESS 00:00:39.982
========================= 1 succeeded in 00:00:39.982 =========================
About the -Wdouble-promotion
warnings, just placing f
after the float constants will silent the warnings, and can even make the math operations faster, as described by GCC Warning Options.
A float
constant without the floating-point literal f
explicitly added to the number is actually a double
, and if a double and a float actually differ (usually it does), all math operations between a float and a double will require the float number to be promoted to double.
#define MY_FLOAT_CONSTANT 3.14f // Usually take 32bits (4 bytes)
#define MY_DOUBLE_CONSTANT 3.14 // Usually take 64bits (8 bytes)
Example:
float area_wrong(float radius)
{
// radius would be promoted from float to double, to match the constant that should be float too
return 3.14159 * radius * radius;
}
float area_right(float radius)
{
// radius and the PI constant are both float
return 3.14159f * radius * radius;
}
that's also happening when multiplicating in32_t and floats, i.e. in the beziers functions, could be one of those situations where ignoring the warning is more beneficial for performances than fixing it?
that won't fix the issues in the espressif core anyway
based on your suggestion I've pushed some changes on the 'wshadow' branch and updated the log output in my previous comment, much smaller now :-)
There are so many changes that it's very hard to check.
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
This issue has been automatically closed because it has not had recent activity. Thank you for your contributions.
Compiling with the flag
-Wshadow
will trigger lots of warnings/errors in the library. Many companies have 'coding standards' that specify that every parameter in a function must start with param or the letter p, only to avoid shadowing.Example:
Shadowing occurs at least 7 times in lgfx_fonts.hpp :
Shadowing occurs at least 2 times in colortype.hpp :
PlatformIO compiling results with library version 0.4.15: