From f859987ce64ff9c50e456f2c284af4d15cfd7d32 Mon Sep 17 00:00:00 2001 From: gytxxsy Date: Wed, 29 Nov 2023 01:31:03 +0800 Subject: [PATCH] [spinel] fix compiling issue of enum multiplication (#9649) A compiling issue occurred (based on gcc 9.4.0) beacuse the multiplication of different enum types. So it is a good idea to define the `kUsPerMs` as `constexpr` constants instead of `enum`. --- src/lib/spinel/radio_spinel.hpp | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/lib/spinel/radio_spinel.hpp b/src/lib/spinel/radio_spinel.hpp index 70301ec9a..69af0a557 100644 --- a/src/lib/spinel/radio_spinel.hpp +++ b/src/lib/spinel/radio_spinel.hpp @@ -935,11 +935,9 @@ private: kStateTransmitDone, ///< Radio indicated frame transmission is done. }; - enum - { - kUsPerMs = 1000, ///< Microseconds per millisecond. - kTxWaitUs = 5000000, ///< Maximum time of waiting for `TransmitDone` event, in microseconds. - }; + static constexpr uint32_t kUsPerMs = 1000; ///< Microseconds per millisecond. + static constexpr uint64_t kTxWaitUs = + 5000000; ///< Maximum time of waiting for `TransmitDone` event, in microseconds. typedef otError (RadioSpinel::*ResponseHandler)(const uint8_t *aBuffer, uint16_t aLength);