From: Michael (XIAO Xufeng) Date: Mon, 29 Jul 2019 06:31:30 +0000 (+0800) Subject: esp_attr: support force_inline X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=b413a240cb70c1b9dfa946a368684276a44bd37e;p=esp-idf esp_attr: support force_inline --- diff --git a/components/esp32/include/esp_attr.h b/components/esp32/include/esp_attr.h index 7a3ec771d1..58fef76c71 100644 --- a/components/esp32/include/esp_attr.h +++ b/components/esp32/include/esp_attr.h @@ -34,6 +34,9 @@ // Forces data to be placed to DMA-capable places #define DMA_ATTR WORD_ALIGNED_ATTR DRAM_ATTR +// Forces a function to be inlined +#define FORCE_INLINE_ATTR static inline __attribute__((always_inline)) + // Forces a string into DRAM instead of flash // Use as ets_printf(DRAM_STR("Hello world!\n")); #define DRAM_STR(str) (__extension__({static const DRAM_ATTR char __c[] = (str); (const char *)&__c;})) @@ -45,7 +48,7 @@ // Forces bss variable into external memory. " #define EXT_RAM_ATTR _SECTION_ATTR_IMPL(".ext_ram.bss", __COUNTER__) #else -#define EXT_RAM_ATTR +#define EXT_RAM_ATTR #endif // Forces data into RTC slow memory. See "docs/deep-sleep-stub.rst"