Procházet zdrojové kódy

fix warnings generated by ESP_ERROR_CHECK(variable) in release builds

This uses the same pattern as “assert” in release builds to silence the
warning. At the same time, we make sure that if a statement is wrapped
into ESP_ERROR_CHECK, it is executed in release build as well.
Ivan Grokhotkov před 8 roky
rodič
revize
275b574ace
1 změnil soubory, kde provedl 4 přidání a 1 odebrání
  1. 4 1
      components/esp32/include/esp_err.h

+ 4 - 1
components/esp32/include/esp_err.h

@@ -61,7 +61,10 @@ void _esp_error_check_failed(esp_err_t rc, const char *file, int line, const cha
  * Disabled if assertions are disabled.
  */
 #ifdef NDEBUG
-#define ESP_ERROR_CHECK(x) do { (x); } while (0)
+#define ESP_ERROR_CHECK(x) do {                                         \
+        esp_err_t rc = (x);                                             \
+        (void) sizeof(rc);                                              \
+    } while(0);
 #else
 #define ESP_ERROR_CHECK(x) do {                                         \
         esp_err_t rc = (x);                                             \