IOT-2539 Targeted ignore of type-limits warning 33/22833/5
authorGeorge Nash <george.nash@intel.com>
Fri, 13 Oct 2017 20:03:39 +0000 (13:03 -0700)
committerRick Bell <richard.s.bell@intel.com>
Tue, 17 Oct 2017 17:23:51 +0000 (17:23 +0000)
This will turn of the type-limits warning in very
targeted area in the code. The code is checking
that the user passed in value is within limits.

Although it is very unlikely to be outsite the
expected values it is possible. Tthis selectivly
shuts off the warning for the two functions the
warning is found in.

Bug: https://jira.iotivity.org/browse/IOT-2539
Change-Id: Id5da64534c05dffd479d911112d5569305c36d48
Signed-off-by: George Nash <george.nash@intel.com>
service/easy-setup/enrollee/src/easysetup.c

index 6b39c94..0bf3d73 100644 (file)
@@ -211,6 +211,17 @@ ESResult ESSetDeviceProperty(ESDeviceProperty *deviceProperty)
     return ES_OK;
 }
 
+#if defined(__GNUC__)
+#pragma GCC diagnostic push
+/*
+ * Prevent reporting esState < ES_STATE_INT and esErrCode < ES_ERRCODE_NO_ERROR as type-limits
+ * The type used for an enum is decided by the compiler the only way to know that the value
+ * passed in by the user is within the limits is to check.
+ * Note this warning is seems to be limited to older compilers.
+ */
+#pragma GCC diagnostic ignored "-Wtype-limits"
+#endif
+
 ESResult ESSetState(ESEnrolleeState esState)
 {
     OIC_LOG(INFO, ES_ENROLLEE_TAG, "ESSetState IN");
@@ -253,6 +264,10 @@ ESResult ESSetErrorCode(ESErrorCode esErrCode)
     return ES_OK;
 }
 
+#if defined(__GNUC__)
+#pragma GCC diagnostic pop
+#endif
+
 ESResult ESTerminateEnrollee()
 {
     OIC_LOG(INFO, ES_ENROLLEE_TAG, "ESTerminateEnrollee IN");