diff options
Diffstat (limited to 'tinyusb/common')
| -rw-r--r-- | tinyusb/common/common.h | 9 | ||||
| -rw-r--r-- | tinyusb/common/compiler/compiler.h | 10 | ||||
| -rw-r--r-- | tinyusb/common/compiler/compiler_gcc.h | 2 |
3 files changed, 12 insertions, 9 deletions
diff --git a/tinyusb/common/common.h b/tinyusb/common/common.h index 0f02cb3f0..76e38c0a0 100644 --- a/tinyusb/common/common.h +++ b/tinyusb/common/common.h @@ -76,15 +76,6 @@ #include "core/std_descriptors.h" #include "core/std_request.h" -// TODO try to manipulate gcc cmd option instead -#ifndef _TEST_ - #define STATIC_ static - #define INLINE_ inline -#else - #define STATIC_ - #define INLINE_ -#endif - #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 diff --git a/tinyusb/common/compiler/compiler.h b/tinyusb/common/compiler/compiler.h index b3439f1b6..8eb01ef3e 100644 --- a/tinyusb/common/compiler/compiler.h +++ b/tinyusb/common/compiler/compiler.h @@ -51,6 +51,16 @@ #ifndef _TUSB_COMPILER_H_ #define _TUSB_COMPILER_H_ +#ifdef _TEST_ + #define ATTR_ALWAYS_INLINE + #define STATIC_ + #define INLINE_ +#else + #define STATIC_ static + #define INLINE_ inline +#endif + + #if defined(__GNUC__) #include "compiler_gcc.h" #elif defined __ICCARM__ // IAR compiler diff --git a/tinyusb/common/compiler/compiler_gcc.h b/tinyusb/common/compiler/compiler_gcc.h index 8732b6cef..b778f6b92 100644 --- a/tinyusb/common/compiler/compiler_gcc.h +++ b/tinyusb/common/compiler/compiler_gcc.h @@ -79,8 +79,10 @@ * @{ */ +#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 #define ATTR_ALWAYS_INLINE __attribute__ ((always_inline)) +#endif /// The nonnull attribute specifies that some function parameters should be non-null pointers. f the compiler determines that a null pointer is passed in an argument slot marked as non-null, and the -Wnonnull option is enabled, a warning is issued. All pointer arguments are marked as non-null #define ATTR_NON_NULL __attribute__ ((nonull)) |
