Ignore certain compiler options on ARMCC

ARMCC also sets __GNU__ macro, but doesn't support
GCC diagnostic pragmas.
This commit is contained in:
Yunhao Tian
2021-11-30 17:11:09 +08:00
parent dba59217da
commit ac20605e3f
3 changed files with 7 additions and 5 deletions

View File

@@ -137,9 +137,11 @@
#define TU_BSWAP16(u16) (__builtin_bswap16(u16)) #define TU_BSWAP16(u16) (__builtin_bswap16(u16))
#define TU_BSWAP32(u32) (__builtin_bswap32(u32)) #define TU_BSWAP32(u32) (__builtin_bswap32(u32))
#ifndef __ARMCC_VERSION
// List of obsolete callback function that is renamed and should not be defined. // List of obsolete callback function that is renamed and should not be defined.
// Put it here since only gcc support this pragma // Put it here since only gcc support this pragma
#pragma GCC poison tud_vendor_control_request_cb #pragma GCC poison tud_vendor_control_request_cb
#endif
#elif defined(__TI_COMPILER_VERSION__) #elif defined(__TI_COMPILER_VERSION__)
#define TU_ATTR_ALIGNED(Bytes) __attribute__ ((aligned(Bytes))) #define TU_ATTR_ALIGNED(Bytes) __attribute__ ((aligned(Bytes)))

View File

@@ -106,12 +106,12 @@ typedef struct TU_ATTR_ALIGNED(4)
void dcd_init (uint8_t rhport); void dcd_init (uint8_t rhport);
// Interrupt Handler // Interrupt Handler
#if __GNUC__ #if __GNUC__ && !defined(__ARMCC_VERSION)
#pragma GCC diagnostic push #pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wredundant-decls" #pragma GCC diagnostic ignored "-Wredundant-decls"
#endif #endif
void dcd_int_handler(uint8_t rhport); void dcd_int_handler(uint8_t rhport);
#if __GNUC__ #if __GNUC__ && !defined(__ARMCC_VERSION)
#pragma GCC diagnostic pop #pragma GCC diagnostic pop
#endif #endif

View File

@@ -67,7 +67,7 @@ typedef void (*osal_task_func_t)( void * );
// OSAL Porting API // OSAL Porting API
//--------------------------------------------------------------------+ //--------------------------------------------------------------------+
#if __GNUC__ #if __GNUC__ && !defined(__ARMCC_VERSION)
#pragma GCC diagnostic push #pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wredundant-decls" #pragma GCC diagnostic ignored "-Wredundant-decls"
#endif #endif
@@ -88,7 +88,7 @@ static inline osal_queue_t osal_queue_create(osal_queue_def_t* qdef);
static inline bool osal_queue_receive(osal_queue_t qhdl, void* data); static inline bool osal_queue_receive(osal_queue_t qhdl, void* data);
static inline bool osal_queue_send(osal_queue_t qhdl, void const * data, bool in_isr); static inline bool osal_queue_send(osal_queue_t qhdl, void const * data, bool in_isr);
static inline bool osal_queue_empty(osal_queue_t qhdl); static inline bool osal_queue_empty(osal_queue_t qhdl);
#if __GNUC__ #if __GNUC__ && !defined(__ARMCC_VERSION)
#pragma GCC diagnostic pop #pragma GCC diagnostic pop
#endif #endif