mirror of
https://github.com/esphome/esphome.git
synced 2026-02-13 13:07:41 -07:00
8cf3cbf7eabbf7a8bc6cf0e6368cf6726d6fdaa2
On ESP8266 (GCC 10.3), std::vector::push_back() emits a separate _M_realloc_insert<DeferredEvent> function (198 bytes) that is only called from one site. Adding __attribute__((flatten)) forces the compiler to inline it, eliminating the out-of-line function's prologue/epilogue and call overhead. This matches what GCC 14.2 (ESP-IDF toolchain) already does naturally for the equivalent code in web_server_idf.cpp. Saves 80 bytes of flash on ESP8266.
Description
ESPHome is a system to control your ESP8266/ESP32 by simple yet powerful configuration files and control them remotely through Home Automation systems.
Readme
Multiple Licenses
258 MiB
Languages
C++
64.2%
Python
35.5%
C
0.2%
