summaryrefslogtreecommitdiff
path: root/include/lib/modernjson/detail/macro_unscope.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'include/lib/modernjson/detail/macro_unscope.hpp')
-rw-r--r--include/lib/modernjson/detail/macro_unscope.hpp22
1 files changed, 22 insertions, 0 deletions
diff --git a/include/lib/modernjson/detail/macro_unscope.hpp b/include/lib/modernjson/detail/macro_unscope.hpp
new file mode 100644
index 0000000..4c5aa91
--- /dev/null
+++ b/include/lib/modernjson/detail/macro_unscope.hpp
@@ -0,0 +1,22 @@
+#pragma once
+
+// restore GCC/clang diagnostic settings
+#if defined(__clang__) || defined(__GNUC__) || defined(__GNUG__)
+ #pragma GCC diagnostic pop
+#endif
+#if defined(__clang__)
+ #pragma GCC diagnostic pop
+#endif
+
+// clean up
+#undef JSON_INTERNAL_CATCH
+#undef JSON_CATCH
+#undef JSON_THROW
+#undef JSON_TRY
+#undef JSON_LIKELY
+#undef JSON_UNLIKELY
+#undef JSON_DEPRECATED
+#undef JSON_HAS_CPP_14
+#undef JSON_HAS_CPP_17
+#undef NLOHMANN_BASIC_JSON_TPL_DECLARATION
+#undef NLOHMANN_BASIC_JSON_TPL