Răsfoiți Sursa

esp_common: add handling for designated inits for C++20

Ivan Grokhotkov 3 ani în urmă
părinte
comite
9ff37d122a
1 a modificat fișierele cu 4 adăugiri și 1 ștergeri
  1. 4 1
      components/esp_common/include/esp_compiler.h

+ 4 - 1
components/esp_common/include/esp_compiler.h

@@ -40,7 +40,10 @@
  *              ESP_COMPILER_DESIGNATED_INIT_AGGREGATE_TYPE_STR(arr, "Value")
  *          };
  */
-#ifdef __cplusplus
+#if defined(__cplusplus) && __cplusplus >= 202002L
+#define ESP_COMPILER_DESIGNATED_INIT_AGGREGATE_TYPE_STR(member, value)  .member = value,
+#define ESP_COMPILER_DESIGNATED_INIT_AGGREGATE_TYPE_EMPTY(member) .member = { },
+#elif defined(__cplusplus) && __cplusplus < 202002L
 #define ESP_COMPILER_DESIGNATED_INIT_AGGREGATE_TYPE_STR(member, value)  { .member = value },
 #define ESP_COMPILER_DESIGNATED_INIT_AGGREGATE_TYPE_EMPTY(member) .member = { },
 #else