Build: Added support for IAR toolchain to psoc64
- Added conditional compilation of subnormal float tests for M0+
with IAR, as the IAR toolchain does not handle this for these
targets.
- Successfully runs the supported regression tests, but fails the NaN
QCBOR tests due to the tests not following the Arm ABI.
- Verified on psoc64
Change-Id: I483507ad2843b6745e3c1c845c939c80d90aa19d
Signed-off-by: TTornblom <thomas.tornblom@iar.com>
diff --git a/lib/ext/qcbor/test/UsefulBuf_Tests.c b/lib/ext/qcbor/test/UsefulBuf_Tests.c
index 1c2634e..8252968 100644
--- a/lib/ext/qcbor/test/UsefulBuf_Tests.c
+++ b/lib/ext/qcbor/test/UsefulBuf_Tests.c
@@ -705,6 +705,7 @@
return "CopyFloatToUint32 failed";
}
+#if !defined(__ICCARM__) || (__SUBNORMAL_FLOATING_POINTS__ == 1)
if(UsefulBufUtil_CopyDoubleToUint64(4e-40F) != 0X37C16C2800000000ULL) {
return "CopyDoubleToUint64 failed";
}
@@ -712,6 +713,7 @@
if(UsefulBufUtil_CopyUint64ToDouble(0X37C16C2800000000ULL) != 4e-40F) {
return "CopyUint64ToDouble failed";
}
+#endif
if(UsefulBufUtil_CopyUint32ToFloat(0x47800000) != 65536.0F) {
return "CopyUint32ToFloat failed";
diff --git a/lib/ext/qcbor/test/float_tests.c b/lib/ext/qcbor/test/float_tests.c
index 20057c3..5fd320b 100644
--- a/lib/ext/qcbor/test/float_tests.c
+++ b/lib/ext/qcbor/test/float_tests.c
@@ -394,10 +394,12 @@
// in hex single is 0x38800000, exponent -14, significand 0
QCBOREncode_AddDoubleAsSmallestToMap(&EC, "biggest subnormal", 0.0000610351563F);
+#if !defined(__ICCARM__) || (__SUBNORMAL_FLOATING_POINTS__ == 1)
// 70 # text(16)
// 7375626E6F726D616C2073696E676C65 # "subnormal single"
// FB 37C16C2800000000 # primitive(4017611261645684736)
QCBOREncode_AddDoubleAsSmallestToMap(&EC, "subnormal single", 4e-40F);
+#endif
// 03 # unsigned(3)
// F9 C000 # primitive(49152)