Starting the process of fixing type downcasting warnings

This commit is contained in:
Martin Budden 2016-12-28 09:46:30 +00:00
parent 84059a78ff
commit 8479ed0022
5 changed files with 13 additions and 9 deletions

View File

@ -440,7 +440,7 @@ __attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __REV16(uint32_t val
__attribute__( ( always_inline ) ) __STATIC_INLINE int32_t __REVSH(int32_t value) __attribute__( ( always_inline ) ) __STATIC_INLINE int32_t __REVSH(int32_t value)
{ {
#if (__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8) #if (__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8)
return (short)__builtin_bswap16(value); return (short)__builtin_bswap16((uint16_t)value);
#else #else
uint32_t result; uint32_t result;
@ -512,7 +512,7 @@ __attribute__( ( always_inline ) ) __STATIC_INLINE uint8_t __LDREXB(volatile uin
*/ */
__ASM volatile ("ldrexb %0, [%1]" : "=r" (result) : "r" (addr) : "memory" ); __ASM volatile ("ldrexb %0, [%1]" : "=r" (result) : "r" (addr) : "memory" );
#endif #endif
return(result); return((uint8_t)result);
} }
@ -535,7 +535,7 @@ __attribute__( ( always_inline ) ) __STATIC_INLINE uint16_t __LDREXH(volatile ui
*/ */
__ASM volatile ("ldrexh %0, [%1]" : "=r" (result) : "r" (addr) : "memory" ); __ASM volatile ("ldrexh %0, [%1]" : "=r" (result) : "r" (addr) : "memory" );
#endif #endif
return(result); return((uint16_t)result);
} }
@ -664,7 +664,7 @@ __attribute__( ( always_inline ) ) __STATIC_INLINE uint8_t __CLZ(uint32_t value)
uint32_t result; uint32_t result;
__ASM volatile ("clz %0, %1" : "=r" (result) : "r" (value) ); __ASM volatile ("clz %0, %1" : "=r" (result) : "r" (value) );
return(result); return((uint8_t)result);
} }
#endif /* (__CORTEX_M >= 0x03) */ #endif /* (__CORTEX_M >= 0x03) */

View File

@ -120,8 +120,8 @@ static displayPort_t *cmsDisplayPortSelectNext(void)
// //
#define LEFT_MENU_COLUMN 1 #define LEFT_MENU_COLUMN 1
#define RIGHT_MENU_COLUMN(p) ((p)->cols - 8) #define RIGHT_MENU_COLUMN(p) ((uint8_t)(p->cols - 8))
#define MAX_MENU_ITEMS(p) ((p)->rows - 2) #define MAX_MENU_ITEMS(p) (p->rows - 2)
static bool cmsInMenu = false; static bool cmsInMenu = false;

View File

@ -69,7 +69,7 @@ typedef struct
#define IS_PRINTVALUE(p) ((p)->flags & PRINT_VALUE) #define IS_PRINTVALUE(p) ((p)->flags & PRINT_VALUE)
#define SET_PRINTVALUE(p) { (p)->flags |= PRINT_VALUE; } #define SET_PRINTVALUE(p) { (p)->flags |= PRINT_VALUE; }
#define CLR_PRINTVALUE(p) { (p)->flags &= ~PRINT_VALUE; } #define CLR_PRINTVALUE(p) { (p)->flags &= (uint8_t)~PRINT_VALUE; }
#define IS_PRINTLABEL(p) ((p)->flags & PRINT_LABEL) #define IS_PRINTLABEL(p) ((p)->flags & PRINT_LABEL)
#define SET_PRINTLABEL(p) { (p)->flags |= PRINT_LABEL; } #define SET_PRINTLABEL(p) { (p)->flags |= PRINT_LABEL; }

View File

@ -70,8 +70,8 @@ http://resnet.uoregon.edu/~gurney_j/jmpc/bitwise.html
const typeof( ((type *)0)->member ) *__mptr = (ptr); \ const typeof( ((type *)0)->member ) *__mptr = (ptr); \
(type *)( (char *)__mptr - offsetof(type,member) );})) (type *)( (char *)__mptr - offsetof(type,member) );}))
static inline int16_t cmp16(uint16_t a, uint16_t b) { return a-b; } static inline int16_t cmp16(uint16_t a, uint16_t b) { return (int16_t)(a-b); }
static inline int32_t cmp32(uint32_t a, uint32_t b) { return a-b; } static inline int32_t cmp32(uint32_t a, uint32_t b) { return (int32_t)(a-b); }
// using memcpy_fn will force memcpy function call, instead of inlining it. In most cases function call takes fewer instructions // using memcpy_fn will force memcpy function call, instead of inlining it. In most cases function call takes fewer instructions
// than inlined version (inlining is cheaper for very small moves < 8 bytes / 2 store instructions) // than inlined version (inlining is cheaper for very small moves < 8 bytes / 2 store instructions)

View File

@ -17,6 +17,10 @@
#pragma once #pragma once
// type conversion warnings. -Wconversion can be turned on to enable the process of eliminating these warnings
//#pragma GCC diagnostic error "-Wconversion"
#pragma GCC diagnostic ignored "-Wsign-conversion"
//#define SCHEDULER_DEBUG // define this to use scheduler debug[] values. Undefined by default for performance reasons //#define SCHEDULER_DEBUG // define this to use scheduler debug[] values. Undefined by default for performance reasons
#define DEBUG_MODE DEBUG_NONE // change this to change initial debug mode #define DEBUG_MODE DEBUG_NONE // change this to change initial debug mode