1
0
mirror of https://github.com/esp8266/Arduino.git synced 2025-07-01 03:26:58 +03:00

Fix GCC 9.1 warnings (except Ticker.h, gdbstub) (#6298)

Cleans up all warnings seen w/GCC 9.1 to allow it to track the main
branch more easily until 3.x.

Does not include Ticker.h "fix" of pragmas around a function cast we're
doing that GCC9 doesn't like, that will be addressed separately and
maybe only in the 3.0 branch.

Does not include GDB hook fix, either, because the pragmas required
to disable the GCC9.1 warnings don't exist in 4.8 at all.
This commit is contained in:
Earle F. Philhower, III
2019-07-14 21:22:49 -07:00
committed by GitHub
parent c18b402c31
commit 52f8c62b81
11 changed files with 16 additions and 11 deletions

View File

@ -167,8 +167,6 @@ public:
bool operator== (AddressListIterator& o) { return netIf.equal(*o); } bool operator== (AddressListIterator& o) { return netIf.equal(*o); }
bool operator!= (AddressListIterator& o) { return !netIf.equal(*o); } bool operator!= (AddressListIterator& o) { return !netIf.equal(*o); }
AddressListIterator& operator= (const AddressListIterator& o) { netIf = o.netIf; return *this; }
AddressListIterator operator++ (int) AddressListIterator operator++ (int)
{ {
AddressListIterator ret = *this; AddressListIterator ret = *this;

View File

@ -136,6 +136,7 @@ class IPAddress: public Printable {
// Overloaded copy operators to allow initialisation of IPAddress objects from other types // Overloaded copy operators to allow initialisation of IPAddress objects from other types
IPAddress& operator=(const uint8_t *address); IPAddress& operator=(const uint8_t *address);
IPAddress& operator=(uint32_t address); IPAddress& operator=(uint32_t address);
IPAddress& operator=(const IPAddress&) = default;
virtual size_t printTo(Print& p) const; virtual size_t printTo(Print& p) const;
String toString() const; String toString() const;

View File

@ -252,7 +252,7 @@ extern void initPins() {
extern void pinMode(uint8_t pin, uint8_t mode) __attribute__ ((weak, alias("__pinMode"))); extern void pinMode(uint8_t pin, uint8_t mode) __attribute__ ((weak, alias("__pinMode")));
extern void digitalWrite(uint8_t pin, uint8_t val) __attribute__ ((weak, alias("__digitalWrite"))); extern void digitalWrite(uint8_t pin, uint8_t val) __attribute__ ((weak, alias("__digitalWrite")));
extern int digitalRead(uint8_t pin) __attribute__ ((weak, alias("__digitalRead"))); extern int digitalRead(uint8_t pin) __attribute__ ((weak, alias("__digitalRead"), nothrow));
extern void attachInterrupt(uint8_t pin, voidFuncPtr handler, int mode) __attribute__ ((weak, alias("__attachInterrupt"))); extern void attachInterrupt(uint8_t pin, voidFuncPtr handler, int mode) __attribute__ ((weak, alias("__attachInterrupt")));
extern void attachInterruptArg(uint8_t pin, voidFuncPtrArg handler, void* arg, int mode) __attribute__((weak, alias("__attachInterruptArg"))); extern void attachInterruptArg(uint8_t pin, voidFuncPtrArg handler, void* arg, int mode) __attribute__((weak, alias("__attachInterruptArg")));
extern void detachInterrupt(uint8_t pin) __attribute__ ((weak, alias("__detachInterrupt"))); extern void detachInterrupt(uint8_t pin) __attribute__ ((weak, alias("__detachInterrupt")));

View File

@ -91,7 +91,7 @@ void* realloc_loc (void* p, size_t s, const char* file, int line);
#define UMM_BEST_FIT #define UMM_BEST_FIT
/* Start addresses and the size of the heap */ /* Start addresses and the size of the heap */
extern char _heap_start; extern char _heap_start[];
#define UMM_MALLOC_CFG__HEAP_ADDR ((uint32_t)&_heap_start) #define UMM_MALLOC_CFG__HEAP_ADDR ((uint32_t)&_heap_start)
#define UMM_MALLOC_CFG__HEAP_SIZE ((size_t)(0x3fffc000 - UMM_MALLOC_CFG__HEAP_ADDR)) #define UMM_MALLOC_CFG__HEAP_SIZE ((size_t)(0x3fffc000 - UMM_MALLOC_CFG__HEAP_ADDR))

View File

@ -473,7 +473,7 @@ extern "C" int __ax_port_read(int fd, uint8_t* buffer, size_t count)
} }
return cb; return cb;
} }
extern "C" void ax_port_read() __attribute__ ((weak, alias("__ax_port_read"))); extern "C" int ax_port_read(int fd, uint8_t* buffer, size_t count) __attribute__ ((weak, alias("__ax_port_read")));
extern "C" int __ax_port_write(int fd, uint8_t* buffer, size_t count) extern "C" int __ax_port_write(int fd, uint8_t* buffer, size_t count)
{ {
@ -489,7 +489,7 @@ extern "C" int __ax_port_write(int fd, uint8_t* buffer, size_t count)
} }
return cb; return cb;
} }
extern "C" void ax_port_write() __attribute__ ((weak, alias("__ax_port_write"))); extern "C" int ax_port_write(int fd, uint8_t* buffer, size_t count) __attribute__ ((weak, alias("__ax_port_write")));
extern "C" int __ax_get_file(const char *filename, uint8_t **buf) extern "C" int __ax_get_file(const char *filename, uint8_t **buf)
{ {
@ -497,7 +497,7 @@ extern "C" int __ax_get_file(const char *filename, uint8_t **buf)
*buf = 0; *buf = 0;
return 0; return 0;
} }
extern "C" void ax_get_file() __attribute__ ((weak, alias("__ax_get_file"))); extern "C" int ax_get_file(const char *filename, uint8_t **buf) __attribute__ ((weak, alias("__ax_get_file")));
extern "C" void __ax_wdt_feed() extern "C" void __ax_wdt_feed()
{ {

View File

@ -37,6 +37,8 @@ class WiFiClientSecure : public WiFiClient {
WiFiClientSecure(const WiFiClientSecure &rhs); WiFiClientSecure(const WiFiClientSecure &rhs);
~WiFiClientSecure() override; ~WiFiClientSecure() override;
WiFiClientSecure& operator=(const WiFiClientSecure&) = default; // The shared-ptrs handle themselves automatically
int connect(IPAddress ip, uint16_t port) override; int connect(IPAddress ip, uint16_t port) override;
int connect(const String& host, uint16_t port) override; int connect(const String& host, uint16_t port) override;
int connect(const char* name, uint16_t port) override; int connect(const char* name, uint16_t port) override;

View File

@ -62,6 +62,8 @@ class WiFiServerSecure : public WiFiServer {
void setServerKeyAndCert(const uint8_t *key, int keyLen, const uint8_t *cert, int certLen); void setServerKeyAndCert(const uint8_t *key, int keyLen, const uint8_t *cert, int certLen);
void setServerKeyAndCert_P(const uint8_t *key, int keyLen, const uint8_t *cert, int certLen); void setServerKeyAndCert_P(const uint8_t *key, int keyLen, const uint8_t *cert, int certLen);
WiFiServerSecure& operator=(const WiFiServerSecure&) = default;
using ClientType = WiFiClientSecure; using ClientType = WiFiClientSecure;
private: private:

View File

@ -900,7 +900,7 @@ void ATTR_GDBINIT gdbstub_set_uart_isr_callback(void (*func)(void*, uint8_t), vo
//gdbstub initialization routine. //gdbstub initialization routine.
void ATTR_GDBINIT gdbstub_init() { void gdbstub_init() {
#if GDBSTUB_REDIRECT_CONSOLE_OUTPUT #if GDBSTUB_REDIRECT_CONSOLE_OUTPUT
os_install_putc1(gdbstub_semihost_putchar1); os_install_putc1(gdbstub_semihost_putchar1);
#endif #endif
@ -923,4 +923,4 @@ bool ATTR_GDBEXTERNFN gdb_present() {
} }
void ATTR_GDBFN gdb_do_break() { gdbstub_do_break(); } void ATTR_GDBFN gdb_do_break() { gdbstub_do_break(); }
void ATTR_GDBINIT gdb_init() __attribute__((alias("gdbstub_init"))); void gdb_init() __attribute__((alias("gdbstub_init")));

View File

@ -129,6 +129,8 @@ SECTIONS
*(.text.app_entry*) /* The main startup code */ *(.text.app_entry*) /* The main startup code */
*(.text.gdbstub*, .text.gdb_init) /* Any GDB hooks */
/* all functional callers are placed in IRAM (including SPI/IRQ callbacks/etc) here */ /* all functional callers are placed in IRAM (including SPI/IRQ callbacks/etc) here */
*(.text._ZNKSt8functionIF*EE*) /* std::function<any(...)>::operator()() const */ *(.text._ZNKSt8functionIF*EE*) /* std::function<any(...)>::operator()() const */
} >iram1_0_seg :iram1_0_phdr } >iram1_0_seg :iram1_0_phdr

View File

@ -402,7 +402,7 @@ struct _reent
char *_asctime_buf; char *_asctime_buf;
/* signal info */ /* signal info */
void (**(_sig_func))(int); void (**_sig_func)(int);
# ifndef _REENT_GLOBAL_ATEXIT # ifndef _REENT_GLOBAL_ATEXIT
/* atexit stuff */ /* atexit stuff */