diff --git a/os/ports/common/ARMCMx/CMSIS/include/arm_math.h b/os/ports/common/ARMCMx/CMSIS/include/arm_math.h index 6629c824c..b6eb12889 100644 --- a/os/ports/common/ARMCMx/CMSIS/include/arm_math.h +++ b/os/ports/common/ARMCMx/CMSIS/include/arm_math.h @@ -5898,7 +5898,9 @@ extern "C" /* Iniatilize output for below specified range as least output value of table */ y = pYData[0]; } - else if(i >= S->nValues) + /* CHIBIOS FIX BEGIN */ + else if(i >= (int32_t)S->nValues) + /* CHIBIOS FIX END */ { /* Iniatilize output for above specified range as last output value of table */ y = pYData[S->nValues - 1]; @@ -5951,8 +5953,9 @@ extern "C" /* 12 bits for the table index */ /* Index value calculation */ index = ((x & 0xFFF00000) >> 20); - - if(index >= (nValues - 1)) + /* CHIBIOS FIX BEGIN */ + if(index >= ((int32_t)nValues - 1)) + /* CHIBIOS FIX END */ { return (pYData[nValues - 1]); } @@ -6014,7 +6017,9 @@ extern "C" /* Index value calculation */ index = ((x & 0xFFF00000) >> 20u); - if(index >= (nValues - 1)) + /* CHIBIOS FIX BEGIN */ + if(index >= ((int32_t)nValues - 1)) + /* CHIBIOS FIX END */ { return (pYData[nValues - 1]); } @@ -6074,8 +6079,9 @@ extern "C" /* Index value calculation */ index = ((x & 0xFFF00000) >> 20u); - - if(index >= (nValues - 1)) + /* CHIBIOS FIX BEGIN */ + if(index >= ((int32_t)nValues - 1)) + /* CHIBIOS FIX END */ { return (pYData[nValues - 1]); } diff --git a/os/ports/common/ARMCMx/CMSIS/include/core_cmFunc.h b/os/ports/common/ARMCMx/CMSIS/include/core_cmFunc.h index adb07b5d3..585d2bb56 100644 --- a/os/ports/common/ARMCMx/CMSIS/include/core_cmFunc.h +++ b/os/ports/common/ARMCMx/CMSIS/include/core_cmFunc.h @@ -593,6 +593,10 @@ __attribute__( ( always_inline ) ) __STATIC_INLINE void __set_FPSCR(uint32_t fps { #if (__FPU_PRESENT == 1) && (__FPU_USED == 1) __ASM volatile ("VMSR fpscr, %0" : : "r" (fpscr) ); +/* CHIBIOS FIX BEGIN */ +#else + (void)fpscr; +/* CHIBIOS FIX END */ #endif }