From 3c19a34e49cda60e201f35f84522cf6d1c5f25f6 Mon Sep 17 00:00:00 2001
From: Vasyl Vavrychuk <vvavrychuk@gmail.com>
Date: Thu, 25 Oct 2012 11:49:49 +0300
Subject: [PATCH] fixed wrong type used

__has_construct was checked with 'pointer' type while
actually construct is called with '_Tp*' type.

Fixes issue http://llvm.org/bugs/show_bug.cgi\?id\=14175
---
 include/memory | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/include/memory b/include/memory
index fe5dd0c..536ed3b 100644
--- a/include/memory
+++ b/include/memory
@@ -1490,7 +1490,7 @@ struct _LIBCPP_VISIBLE allocator_traits
     template <class _Tp, class... _Args>
         _LIBCPP_INLINE_VISIBILITY
         static void construct(allocator_type& __a, _Tp* __p, _Args&&... __args)
-            {__construct(__has_construct<allocator_type, pointer, _Args...>(),
+            {__construct(__has_construct<allocator_type, _Tp*, _Args...>(),
                          __a, __p, _VSTD::forward<_Args>(__args)...);}
 #else  // _LIBCPP_HAS_NO_VARIADICS
     template <class _Tp>
-- 
1.7.11.7

