From b98348806e40a4b0ccb4f6e3284f713a72ed5260 Mon Sep 17 00:00:00 2001
From: Vasileios Karakasis <vkarak@gmail.com>
Date: Tue, 29 Nov 2016 00:24:14 +0100
Subject: [PATCH] Fixes icc compilation of uninitialized (#114)

Fix compilation issue with uninitialized introduced in PR #101.
* Use `const void*` in `static_cast` for `cptr()` member function.
---
 src/util/uninitialized.hpp | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/util/uninitialized.hpp b/src/util/uninitialized.hpp
index e8ea25c1..a13842ac 100644
--- a/src/util/uninitialized.hpp
+++ b/src/util/uninitialized.hpp
@@ -4,7 +4,7 @@
  *
  * The uninitialized<X> structure holds space for an item of
  * type X, leaving its construction or destruction to the user.
- * 
+ *
  * Specialisations for reference types X& and for the void type
  * allow for the handling of non-value types in a uniform manner.
  */
@@ -34,7 +34,7 @@ public:
     using const_reference= const X&;
 
     pointer ptr() { return static_cast<X*>(static_cast<void*>(&data)); }
-    const_pointer cptr() const { return static_cast<const X*>(static_cast<void*>(&data)); }
+    const_pointer cptr() const { return static_cast<const X*>(static_cast<const void*>(&data)); }
 
     reference ref() { return *ptr(); }
     const_reference cref() const { return *cptr(); }
@@ -106,7 +106,7 @@ public:
 };
 
 /* Wrap a void type in an uninitialized template.
- * 
+ *
  * Allows the use of uninitialized<X> for void X, for generic applications.
  */
 template <>
-- 
GitLab