This file contains compiler related definitions. More...
Macros |
|
| #define | inline |
| #define | SASI_PAL_COMPILER_SECTION (sectionName) __attribute__ ((section(sectionName))) |
| #define | SASI_PAL_COMPILER_KEEP_SYMBOL __attribute__ ((used)) |
| #define | SASI_PAL_COMPILER_ALIGN (alignement) __attribute__ ((aligned(alignement))) |
| #define | SASI_PAL_COMPILER_FUNC_NEVER_RETURNS __attribute__ ((noreturn)) |
| #define | SASI_PAL_COMPILER_FUNC_DONT_INLINE __attribute__ ((noinline)) |
| #define | SASI_PAL_COMPILER_TYPE_MAY_ALIAS __attribute__ ((__may_alias__)) |
| #define | SASI_PAL_COMPILER_SIZEOF_STRUCT_MEMBER (type_name, member_name) sizeof(((type_name *)0)->member_name) |
| #define | SASI_ASSERT_CONCAT_ (a, b) a##b |
| #define | SASI_ASSERT_CONCAT (a, b) SASI_ASSERT_CONCAT_ (a, b) |
| #define | SASI_PAL_COMPILER_ASSERT (cond, message) enum { SASI_ASSERT_CONCAT(assert_line_, __LINE__) = 1/(!!(cond)) } |
Detailed Description
This file contains compiler related definitions.
Macro Definition Documentation
| #define SASI_ASSERT_CONCAT_ | ( | a, | |
| b | |||
| ) | a##b |
Assertion.
| #define SASI_PAL_COMPILER_ALIGN | ( | alignement | ) | __attribute__ ((aligned(alignement))) |
Make given data item aligned (alignment in bytes).
| #define SASI_PAL_COMPILER_FUNC_DONT_INLINE __attribute__ ((noinline)) |
Prevent function from being inlined.
| #define SASI_PAL_COMPILER_FUNC_NEVER_RETURNS __attribute__ ((noreturn)) |
Mark function that never returns.
| #define SASI_PAL_COMPILER_KEEP_SYMBOL __attribute__ ((used)) |
Mark symbol as used, i.e., prevent garbage collector from dropping it.
| #define SASI_PAL_COMPILER_SECTION | ( | sectionName | ) | __attribute__ ((section(sectionName))) |
Associate a symbol with a link section.
| #define SASI_PAL_COMPILER_SIZEOF_STRUCT_MEMBER | ( | type_name, | |
| member_name | |||
| ) | sizeof(((type_name *)0)->member_name) |
Get sizeof for a structure type member.
| #define SASI_PAL_COMPILER_TYPE_MAY_ALIAS __attribute__ ((__may_alias__)) |
Given data type may cast (alias) another data type pointer.