diff options
Diffstat (limited to 'tinyusb/common/compiler')
| -rw-r--r-- | tinyusb/common/compiler/compiler.h | 4 | ||||
| -rw-r--r-- | tinyusb/common/compiler/compiler_iar.h | 12 |
2 files changed, 5 insertions, 11 deletions
diff --git a/tinyusb/common/compiler/compiler.h b/tinyusb/common/compiler/compiler.h index 738711416..4c81047c7 100644 --- a/tinyusb/common/compiler/compiler.h +++ b/tinyusb/common/compiler/compiler.h @@ -49,6 +49,7 @@ #ifndef _TEST_ #define STATIC_ static #define INLINE_ inline + #define ATTR_TEST_WEAK #if TUSB_CFG_DEBUG == 3 #define ATTR_ALWAYS_INLINE // no inline for debug = 3 @@ -56,12 +57,13 @@ #else #define STATIC_VAR static #endif - #define ATTR_TEST_WEAK + #else #define ATTR_ALWAYS_INLINE #define STATIC_ #define STATIC_VAR #define INLINE_ + #endif #if defined(__GNUC__) diff --git a/tinyusb/common/compiler/compiler_iar.h b/tinyusb/common/compiler/compiler_iar.h index cd94f5b2f..7103ee092 100644 --- a/tinyusb/common/compiler/compiler_iar.h +++ b/tinyusb/common/compiler/compiler_iar.h @@ -57,17 +57,9 @@ #define ATTR_PACKED_STRUCT(x) __packed x #define ATTR_PREPACKED __packed #define ATTR_PACKED +//#define ATTR_SECTION(section) _Pragma((#section)) -#define ATTR_ALIGNED(Bytes) ATTR_ALIGNED_##Bytes -#define ATTR_ALIGNED_4096 _Pragma("data_alignment=4096") -#define ATTR_ALIGNED_2048 _Pragma("data_alignment=2048") -#define ATTR_ALIGNED_256 _Pragma("data_alignment=256") -#define ATTR_ALIGNED_128 _Pragma("data_alignment=128") -#define ATTR_ALIGNED_64 _Pragma("data_alignment=64") -#define ATTR_ALIGNED_48 _Pragma("data_alignment=48") -#define ATTR_ALIGNED_32 _Pragma("data_alignment=32") -#define ATTR_ALIGNED_16 _Pragma("data_alignment=16") -#define ATTR_ALIGNED_4 _Pragma("data_alignment=4") +#define ATTR_ALIGNED(bytes) _Pragma(XSTRING_(data_alignment=##bytes)) #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 |
