move STRING & XSTRING & STATIC_ASSERT to compiler.h
disable test for a class of cdc host temporarily disable test for test_osal_none.c change include in some core files remove osal.h from common.h
This commit is contained in:
@@ -44,6 +44,26 @@
|
||||
#ifndef _TUSB_COMPILER_H_
|
||||
#define _TUSB_COMPILER_H_
|
||||
|
||||
#define STRING_(x) #x ///< stringify without expand
|
||||
#define XSTRING_(x) STRING_(x) ///< expand then stringify
|
||||
#define STRING_CONCAT_(a, b) a##b ///< concat without expand
|
||||
#define XSTRING_CONCAT_(a, b) STRING_CONCAT_(a, b) ///< expand then concat
|
||||
|
||||
//--------------------------------------------------------------------+
|
||||
// Compile-time Assert
|
||||
//--------------------------------------------------------------------+
|
||||
#ifdef __ICCARM__
|
||||
#define STATIC_ASSERT static_assert
|
||||
#else
|
||||
#if defined __COUNTER__ && __COUNTER__ != __COUNTER__
|
||||
#define _ASSERT_COUNTER __COUNTER__
|
||||
#else
|
||||
#define _ASSERT_COUNTER __LINE__
|
||||
#endif
|
||||
|
||||
#define STATIC_ASSERT(const_expr, message) enum { XSTRING_CONCAT_(static_assert_, _ASSERT_COUNTER) = 1/(!!(const_expr)) }
|
||||
#endif
|
||||
|
||||
#ifndef _TEST_
|
||||
// TODO move some to tusb_option.h
|
||||
#define STATIC_ static
|
||||
|
||||
@@ -36,14 +36,9 @@
|
||||
*/
|
||||
/**************************************************************************/
|
||||
|
||||
/** \file
|
||||
* \brief GCC Header
|
||||
*/
|
||||
|
||||
/** \ingroup Group_Compiler
|
||||
* \defgroup Group_GCC GNU GCC
|
||||
* @{
|
||||
*/
|
||||
* @{ */
|
||||
|
||||
#ifndef _TUSB_COMPILER_GCC_H_
|
||||
#define _TUSB_COMPILER_GCC_H_
|
||||
@@ -63,10 +58,8 @@
|
||||
/// If this attribute is used on a function declaration and a call to such a function is not eliminated through dead code elimination or other optimizations, a warning that includes message is diagnosed. This is useful for compile-time checking
|
||||
#define ATTR_WARNING(Message) __attribute__ ((warning(Message)))
|
||||
|
||||
/**
|
||||
* \defgroup Group_VariableAttr Variable Attributes
|
||||
* @{
|
||||
*/
|
||||
/** \defgroup Group_VariableAttr Variable Attributes
|
||||
* @{ */
|
||||
|
||||
/// This attribute specifies a minimum alignment for the variable or structure field, measured in bytes
|
||||
#define ATTR_ALIGNED(Bytes) __attribute__ ((aligned(Bytes)))
|
||||
@@ -79,10 +72,8 @@
|
||||
#define ATTR_PACKED_STRUCT(x) x __attribute__ ((packed))
|
||||
/** @} */
|
||||
|
||||
/**
|
||||
* \defgroup Group_FuncAttr Function Attributes
|
||||
* @{
|
||||
*/
|
||||
/** \defgroup Group_FuncAttr Function Attributes
|
||||
* @{ */
|
||||
|
||||
#ifndef ATTR_ALWAYS_INLINE
|
||||
/// Generally, functions are not inlined unless optimization is specified. For functions declared inline, this attribute inlines the function even if no optimization level is specified
|
||||
@@ -125,10 +116,8 @@
|
||||
|
||||
/** @} */
|
||||
|
||||
/**
|
||||
* \defgroup Group_BuiltinFunc Built-in Functions
|
||||
* @{
|
||||
*/
|
||||
/** \defgroup Group_BuiltinFunc Built-in Functions
|
||||
* @{ */
|
||||
|
||||
// TODO mcu specific
|
||||
#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
|
||||
|
||||
Reference in New Issue
Block a user