toolchain: deprecate the Z_ iterables api

Switch the actual API implementation to the external API and mark the
internal ones as __DEPRECATED_MACRO.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
This commit is contained in:
Fabio Baltieri 2021-08-04 19:28:46 +01:00 committed by Christopher Friedt
commit 171739d06e
2 changed files with 23 additions and 21 deletions

View file

@ -73,14 +73,14 @@
* are indirectly referenced by iterating through the section.
*/
#define ITERABLE_SECTION_ROM(struct_type, subalign) \
Z_ITERABLE_SECTION_ROM(struct_type, subalign)
#define Z_ITERABLE_SECTION_ROM(struct_type, subalign) \
SECTION_PROLOGUE(struct_type##_area,,SUBALIGN(subalign)) \
{ \
Z_LINK_ITERABLE(struct_type); \
} GROUP_ROM_LINK_IN(RAMABLE_REGION, ROMABLE_REGION)
#define Z_ITERABLE_SECTION_ROM(struct_type, subalign) \
ITERABLE_SECTION_ROM(struct_type, subalign)
/**
* @brief Define a garbage collectable read-only iterable section output.
*
@ -94,14 +94,14 @@
* Note that the symbols within the section can be garbage collected.
*/
#define ITERABLE_SECTION_ROM_GC_ALLOWED(struct_type, subalign) \
Z_ITERABLE_SECTION_ROM_GC_ALLOWED(struct_type, subalign)
#define Z_ITERABLE_SECTION_ROM_GC_ALLOWED(struct_type, subalign) \
SECTION_PROLOGUE(struct_type##_area,,SUBALIGN(subalign)) \
{ \
Z_LINK_ITERABLE_GC_ALLOWED(struct_type); \
} GROUP_LINK_IN(ROMABLE_REGION)
#define Z_ITERABLE_SECTION_ROM_GC_ALLOWED(struct_type, subalign) \
ITERABLE_SECTION_ROM_GC_ALLOWED(struct_type, subalign)
/**
* @brief Define a read-write iterable section output.
*
@ -117,14 +117,13 @@
* are indirectly referenced by iterating through the section.
*/
#define ITERABLE_SECTION_RAM(struct_type, subalign) \
Z_ITERABLE_SECTION_RAM(struct_type, subalign)
#define Z_ITERABLE_SECTION_RAM(struct_type, subalign) \
SECTION_DATA_PROLOGUE(struct_type##_area,,SUBALIGN(subalign)) \
{ \
Z_LINK_ITERABLE(struct_type); \
} GROUP_DATA_LINK_IN(RAMABLE_REGION, ROMABLE_REGION)
#define Z_ITERABLE_SECTION_RAM(struct_type, subalign) \
ITERABLE_SECTION_RAM(struct_type, subalign)
/**
* @brief Define a garbage collectable read-write iterable section output.
@ -139,14 +138,14 @@
* Note that the symbols within the section can be garbage collected.
*/
#define ITERABLE_SECTION_RAM_GC_ALLOWED(struct_type, subalign) \
Z_ITERABLE_SECTION_RAM_GC_ALLOWED(struct_type, subalign)
#define Z_ITERABLE_SECTION_RAM_GC_ALLOWED(struct_type, subalign) \
SECTION_DATA_PROLOGUE(struct_type##_area,,SUBALIGN(subalign)) \
{ \
Z_LINK_ITERABLE_GC_ALLOWED(struct_type); \
} GROUP_DATA_LINK_IN(RAMABLE_REGION, ROMABLE_REGION)
#define Z_ITERABLE_SECTION_RAM_GC_ALLOWED(struct_type, subalign) \
ITERABLE_SECTION_RAM_GC_ALLOWED(struct_type, subalign)
/**
* @}
*/ /* end of struct_section_apis */

View file

@ -197,12 +197,13 @@
* ITERABLE_SECTION_ROM() or ITERABLE_SECTION_RAM().
*/
#define STRUCT_SECTION_ITERABLE(struct_type, name) \
Z_STRUCT_SECTION_ITERABLE(struct_type, name)
#define Z_STRUCT_SECTION_ITERABLE(struct_type, name) \
Z_DECL_ALIGN(struct struct_type) name \
__in_section(_##struct_type, static, name) __used
#define Z_STRUCT_SECTION_ITERABLE(struct_type, name) \
__DEPRECATED_MACRO \
STRUCT_SECTION_ITERABLE(struct_type, name)
/**
* @brief Defines an alternate data type iterable section.
*
@ -212,12 +213,13 @@
* data type sizes and semantics must be equivalent!
*/
#define STRUCT_SECTION_ITERABLE_ALTERNATE(out_type, struct_type, name) \
Z_STRUCT_SECTION_ITERABLE_ALTERNATE(out_type, struct_type, name)
#define Z_STRUCT_SECTION_ITERABLE_ALTERNATE(out_type, struct_type, name) \
Z_DECL_ALIGN(struct struct_type) name \
__in_section(_##out_type, static, name) __used
#define Z_STRUCT_SECTION_ITERABLE_ALTERNATE(out_type, struct_type, name) \
__DEPRECATED_MACRO \
STRUCT_SECTION_ITERABLE_ALTERNATE(out_type, struct_type, name)
/**
* @brief Iterate over a specified iterable section.
*
@ -229,9 +231,6 @@
* ITERABLE_SECTION_ROM() or ITERABLE_SECTION_RAM() in the linker script.
*/
#define STRUCT_SECTION_FOREACH(struct_type, iterator) \
Z_STRUCT_SECTION_FOREACH(struct_type, iterator)
#define Z_STRUCT_SECTION_FOREACH(struct_type, iterator) \
extern struct struct_type _CONCAT(_##struct_type, _list_start)[]; \
extern struct struct_type _CONCAT(_##struct_type, _list_end)[]; \
for (struct struct_type *iterator = \
@ -241,6 +240,10 @@
iterator < _CONCAT(_##struct_type, _list_end); }); \
iterator++)
#define Z_STRUCT_SECTION_FOREACH(struct_type, iterator) \
__DEPRECATED_MACRO \
STRUCT_SECTION_FOREACH(struct_type, iterator)
/**
* @}
*/ /* end of struct_section_apis */