From 0c9beb64deb1ca61de4ee3625b27fad6ebbfe29f Mon Sep 17 00:00:00 2001
From: Zachary Ware <zachary.ware@gmail.com>
Date: Thu, 20 Feb 2014 15:39:29 -0600
Subject: [PATCH] Issue #20221: Removed conflicting (or circular) hypot
 definition when compiled with VS 2010 or above.  Initial patch by Tabrez
 Mohammed.

---
 Misc/NEWS     | 3 +++
 PC/pyconfig.h | 4 ++++
 2 files changed, 7 insertions(+)

diff --git a/Misc/NEWS b/Misc/NEWS
index 43bdbd427f..40c2760679 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -68,6 +68,9 @@ Library
 Build
 -----
 
+- Issue #20221: Removed conflicting (or circular) hypot definition when
+  compiled with VS 2010 or above.  Initial patch by Tabrez Mohammed.
+
 - Issue #20609: Restored the ability to build 64-bit Windows binaries on
   32-bit Windows, which was broken by the change in issue #19788.
 
diff --git a/PC/pyconfig.h b/PC/pyconfig.h
index 299527db7d..ccf75f3736 100644
--- a/PC/pyconfig.h
+++ b/PC/pyconfig.h
@@ -207,7 +207,11 @@ typedef int pid_t;
 #define Py_IS_INFINITY(X) (!_finite(X) && !_isnan(X))
 #define Py_IS_FINITE(X) _finite(X)
 #define copysign _copysign
+
+/* VS 2010 and above already defines hypot as _hypot */
+#if _MSC_VER < 1600
 #define hypot _hypot
+#endif
 
 /* Side by Side assemblies supported in VS 2005 and VS 2008 but not 2010*/
 #if _MSC_VER >= 1400 && _MSC_VER < 1600
-- 
2.49.0