Loading...
Searching...
No Matches
Go to the documentation of this file.
6#ifndef FASTLED_VARIABLE_LENGTH_ARRAY_NEEDS_EMULATION
7#if defined(FL_IS_CLANG) || defined(FL_IS_STM32_H7)
12#define FASTLED_VARIABLE_LENGTH_ARRAY_NEEDS_EMULATION 1
15#define FASTLED_VARIABLE_LENGTH_ARRAY_NEEDS_EMULATION 0
31#if !FASTLED_VARIABLE_LENGTH_ARRAY_NEEDS_EMULATION
32#define FASTLED_STACK_ARRAY(TYPE, NAME, SIZE) \
34 fl::memset(NAME, 0, sizeof(TYPE) * (SIZE))
35#elif FL_HAS_INCLUDE(<alloca.h>)
39#define FASTLED_STACK_ARRAY(TYPE, NAME, SIZE) \
40 TYPE *NAME = fl::bit_cast_ptr<TYPE>(alloca(sizeof(TYPE) * (SIZE))); \
41 fl::memset(NAME, 0, sizeof(TYPE) * (SIZE))
42#elif FL_HAS_INCLUDE(<malloc.h>)
46#define FASTLED_STACK_ARRAY(TYPE, NAME, SIZE) \
47 TYPE *NAME = fl::bit_cast_ptr<TYPE>(alloca(sizeof(TYPE) * (SIZE))); \
48 fl::memset(NAME, 0, sizeof(TYPE) * (SIZE))
50#error "Compiler does not allow variable type arrays."