8#ifndef ZEPHYR_INCLUDE_TOOLCHAIN_MWDT_H_
9#define ZEPHYR_INCLUDE_TOOLCHAIN_MWDT_H_
11#ifndef ZEPHYR_INCLUDE_TOOLCHAIN_H_
12#error Please do not include toolchain-specific headers directly, use <zephyr/toolchain.h> instead
16#if defined(_ASMLANGUAGE)
23.macro section_var_mwdt, section, symbol
24 .section .\§ion\&.\&symbol,
"aw"
28.macro section_func_mwdt, section, symbol
29 .section .\§ion\&.\&symbol,
"ax"
36.macro section_subsec_func_mwdt, section, subsection, symbol
37 .section .\§ion\&.\&subsection, "ax"
42#define SECTION_VAR(sect, sym) section_var_mwdt sect, sym
43#define SECTION_FUNC(sect, sym) section_func_mwdt sect, sym
44#define SECTION_SUBSEC_FUNC(sect, subsec, sym) \
45 section_subsec_func_mwdt sect, subsec, sym
47.macro glbl_text_mwdt, symbol
49 .type symbol, @function
52.macro glbl_data_mwdt, symbol
57.macro weak_data_mwdt, symbol
62#define GTEXT(sym) glbl_text_mwdt sym
63#define GDATA(sym) glbl_data_mwdt sym
64#define WDATA(sym) weak_data_mwdt sym
69#ifndef _SSIZE_T_DEFINED
70#define _SSIZE_T_DEFINED
78#ifdef CONFIG_NEWLIB_LIBC
79 #error "ARC MWDT doesn't support building with CONFIG_NEWLIB_LIBC as it doesn't have newlib"
82#ifdef CONFIG_NATIVE_APPLICATION
83 #error "ARC MWDT doesn't support building Zephyr as an native application"
87#define __no_optimization __attribute__((optnone))
88#define __fallthrough __attribute__((fallthrough))
90#define TOOLCHAIN_HAS_C_GENERIC 1
91#define TOOLCHAIN_HAS_C_AUTO_TYPE 1
96#if defined(__cplusplus) && (__cplusplus >= 201103L)
97#define BUILD_ASSERT(EXPR, MSG...) static_assert(EXPR, "" MSG)
98#elif defined(__cplusplus)
100#define BUILD_ASSERT(EXPR, MSG...)
102#define BUILD_ASSERT(EXPR, MSG...) _Static_assert(EXPR, "" MSG)
105#define __builtin_arc_nop() _nop()
Common toolchain abstraction.
GCC toolchain abstraction.
__SIZE_TYPE__ ssize_t
Definition: types.h:28