From 4e90853d339ab5aad44d4f8b5fb40c7802686bb5 Mon Sep 17 00:00:00 2001 From: Leonard Lausen Date: Tue, 3 Mar 2020 04:08:15 +0000 Subject: [PATCH] Disable GCC6+ -Wmaybe-uninitialized in optional.h --- include/dmlc/optional.h | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/include/dmlc/optional.h b/include/dmlc/optional.h index 85da2b827a..7ed2e85838 100644 --- a/include/dmlc/optional.h +++ b/include/dmlc/optional.h @@ -46,15 +46,25 @@ class optional { optional() : is_none(true) {} /*! \brief construct an optional object with value */ explicit optional(const T& value) { +#pragma GCC diagnostic push +#if __GNUC__ >= 6 +#pragma GCC diagnostic ignored "-Wmaybe-uninitialized" +#endif is_none = false; new (&val) T(value); +#pragma GCC diagnostic pop } /*! \brief construct an optional object with another optional object */ optional(const optional& other) { +#pragma GCC diagnostic push +#if __GNUC__ >= 6 +#pragma GCC diagnostic ignored "-Wmaybe-uninitialized" +#endif is_none = other.is_none; if (!is_none) { new (&val) T(other.value()); } +#pragma GCC diagnostic pop } /*! \brief deconstructor */ ~optional() {