Skip to content

PrintFile and StreamFile warnings with -Woverloaded-virtual #85

@mcspr

Description

@mcspr

Building with esp8266/Arduino, gcc10.3 and forcibly enabled -Woverloded-virtual

In file included from cores/esp8266/Stream.h:27,
                 from cores/esp8266/HardwareSerial.h:32,
                 from cores/esp8266/Arduino.h:303,
                 from libraries/SD/src/SD.h:23,
                 from libraries/SD/src/SD.cpp:1:
libraries/ESP8266SdFat/src/ExFatLib/../common/ArduinoFiles.h: In instantiation of 'class PrintFile<FatFile>':
libraries/ESP8266SdFat/src/SdFat.h:455:23:   required from here
cores/esp8266/Print.h:61:24: warning: 'virtual size_t Print::write(const uint8_t*, size_t)' was hidden [-Woverloaded-virtual]
   61 |         virtual size_t write(const uint8_t *buffer, size_t size);
      |                        ^~~~~
In file included from libraries/ESP8266SdFat/src/FatLib/FatVolume.h:27,
                 from libraries/ESP8266SdFat/src/FatLib/FatLib.h:27,
                 from libraries/ESP8266SdFat/src/SdFat.h:34,
                 from libraries/SDFS/src/SDFS.h:35,
                 from libraries/SD/src/SD.h:25,
                 from libraries/SD/src/SD.cpp:1:
libraries/ESP8266SdFat/src/FatLib/FatFile.h:913:10: note:   by 'PrintFile<FatFile>::write'
  913 |   size_t write(const char* str) {
      |          ^~~~~

...etc...

If I understood the intent correctly, changes should be something like this - hiding original methods by removing 'using = ...' and adding explicit override to the methods required for Print & Stream
mcspr/ESP8266SdFat@f4d4076
(we are still at SdFat version 2.1.1, but the issue applies to both latest release and beta version here. plus, updated formatting)

Do you accept pull-requests here?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions