Explorar el Código

Misc: Using static_assert() when using C++11, instead of our own construct (avoid zealous Clang warnings).

omar hace 5 años
padre
commit
be05e12e21
Se han modificado 2 ficheros con 5 adiciones y 0 borrados
  1. 1 0
      docs/CHANGELOG.txt
  2. 4 0
      imgui_internal.h

+ 1 - 0
docs/CHANGELOG.txt

@@ -77,6 +77,7 @@ Other Changes:
 - Error handling: Assert if user mistakenly calls End() instead of EndChild() on a child window. (#1651)
 - Misc: Optimized storage of window settings data (reducing allocation count).
 - Misc: Windows: Do not use _wfopen() if IMGUI_DISABLE_WIN32_FUNCTIONS is defined. (#2815)
+- Misc: Using static_assert() when using C++11, instead of our own construct (avoid zealous Clang warnings).
 - Docs: Improved and moved FAQ to docs/FAQ.md so it can be readable on the web. [@ButternCream, @ocornut]
 - Docs: Added permanent redirect from https://www.dearimgui.org/faq to FAQ page.
 - Demo: Added simple item reordering demo in Widgets -> Drag and Drop section. (#2823, #143) [@rokups]

+ 4 - 0
imgui_internal.h

@@ -155,7 +155,11 @@ extern IMGUI_API ImGuiContext* GImGui;  // Current implicit context pointer
 #define IM_NEWLINE      "\n"
 #endif
 #define IM_TABSIZE      (4)
+#if (__cplusplus >= 201100)
+#define IM_STATIC_ASSERT(_COND)         static_assert(_COND, "")
+#else
 #define IM_STATIC_ASSERT(_COND)         typedef char static_assertion_##__line__[(_COND)?1:-1]
+#endif
 #define IM_F32_TO_INT8_UNBOUND(_VAL)    ((int)((_VAL) * 255.0f + ((_VAL)>=0 ? 0.5f : -0.5f)))   // Unsaturated, for display purpose
 #define IM_F32_TO_INT8_SAT(_VAL)        ((int)(ImSaturate(_VAL) * 255.0f + 0.5f))               // Saturated, always output 0..255
 #define IM_FLOOR(_VAL)                  ((float)(int)(_VAL))                                    // ImFloor() is not inlined in MSVC debug builds