ssi_pal_compiler

nRF5 SDK v13.0.0

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.