diff --git a/inc/MicroBit.h b/inc/MicroBit.h index fd74fed..417b300 100644 --- a/inc/MicroBit.h +++ b/inc/MicroBit.h @@ -32,10 +32,24 @@ #include "MicroBitFiber.h" #include "MicroBitMessageBus.h" +/* + * The underlying Nordic libraries that support BLE do not compile cleanly with the stringent GCC settings we employ + * If we're compiling under GCC, then we suppress any warnings generated from this code (but not the rest of the DAL) + * The ARM cc compiler is more tolerant. We don't test __GNUC__ here to detect GCC as ARMCC also typically sets this + * as a compatability option, but does not support the options used... + */ +#if !defined (__arm) #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wunused-parameter" +#endif #include "ble/BLE.h" + +/* + * Return to our predefined compiler settings. + */ +#if !defined (__arm) #pragma GCC diagnostic pop +#endif #include "ble/services/DeviceInformationService.h" #include "MicroBitDFUService.h" diff --git a/source/MicroBitThermometer.cpp b/source/MicroBitThermometer.cpp index 23163bd..2619f69 100644 --- a/source/MicroBitThermometer.cpp +++ b/source/MicroBitThermometer.cpp @@ -12,11 +12,28 @@ * as the first line of nrf_soc.h, but that's a different * module ... */ + + +/* + * The underlying Nordic libraries that support BLE do not compile cleanly with the stringent GCC settings we employ + * If we're compiling under GCC, then we suppress any warnings generated from this code (but not the rest of the DAL) + * The ARM cc compiler is more tolerant. We don't test __GNUC__ here to detect GCC as ARMCC also typically sets this + * as a compatability option, but does not support the options used... + */ +#if !defined(__arm) #pragma GCC diagnostic ignored "-Wunused-function" #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wunused-parameter" +#endif + #include "nrf_soc.h" + +/* + * Return to our predefined compiler settings. + */ +#if !defined(__arm) #pragma GCC diagnostic pop +#endif /** * Constructor.