Merged in 1st1/cpython350 (pull request #5)

Issue #24867: Fix asyncio.Task.get_stack() for 'async def' coroutines
diff --git a/Doc/whatsnew/3.5.rst b/Doc/whatsnew/3.5.rst
index a974130..11f871b 100644
--- a/Doc/whatsnew/3.5.rst
+++ b/Doc/whatsnew/3.5.rst
@@ -729,7 +729,7 @@
 
 * New :func:`~os.path.commonpath` function that extracts common path prefix.
   Unlike the :func:`~os.path.commonprefix` function, it always returns a valid
-  patch.  (Contributed by Rafik Draoui and Serhiy Storchaka in :issue:`10395`.)
+  path.  (Contributed by Rafik Draoui and Serhiy Storchaka in :issue:`10395`.)
 
 pickle
 ------
diff --git a/Include/pymath.h b/Include/pymath.h
index 62a6c42..1ea9ac1 100644
--- a/Include/pymath.h
+++ b/Include/pymath.h
@@ -150,7 +150,29 @@
  * doesn't support NaNs.
  */
 #if !defined(Py_NAN) && !defined(Py_NO_NAN)
-#define Py_NAN (Py_HUGE_VAL * 0.)
+#if !defined(__INTEL_COMPILER)
+    #define Py_NAN (Py_HUGE_VAL * 0.)
+#else /* __INTEL_COMPILER */
+    #if defined(ICC_NAN_STRICT)
+        #pragma float_control(push)
+        #pragma float_control(precise, on)
+        #pragma float_control(except,  on)
+        #if defined(_MSC_VER)
+            __declspec(noinline)
+        #else /* Linux */
+            __attribute__((noinline))
+        #endif /* _MSC_VER */
+        static double __icc_nan()
+        {
+            return sqrt(-1.0);
+        }
+        #pragma float_control (pop)
+        #define Py_NAN __icc_nan()
+    #else /* ICC_NAN_RELAXED as default for Intel Compiler */
+        static union { unsigned char buf[8]; double __icc_nan; } __nan_store = {0,0,0,0,0,0,0xf8,0x7f};
+        #define Py_NAN (__nan_store.__icc_nan)
+    #endif /* ICC_NAN_STRICT */
+#endif /* __INTEL_COMPILER */
 #endif
 
 /* Py_OVERFLOWED(X)
diff --git a/Misc/ACKS b/Misc/ACKS
index e2e8387..c2386e8 100644
--- a/Misc/ACKS
+++ b/Misc/ACKS
@@ -594,6 +594,7 @@
 Chris Hoffman
 Stefan Hoffmeister
 Albert Hofkamp
+Chris Hogan
 Tomas Hoger
 Jonathan Hogg
 Kamilla Holanda
diff --git a/Misc/NEWS b/Misc/NEWS
index a6f3949..804f43b 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -10,9 +10,14 @@
 Core and Builtins
 -----------------
 
+- Issue #21167: NAN operations are now handled correctly when python is
+  compiled with ICC even if -fp-model strict is not specified.
+
 Library
 -------
 
+- Issue #24847: Removes vcruntime140.dll dependency from Tcl/Tk.
+
 - Issue #24839: platform._syscmd_ver raises DeprecationWarning
 
 What's New in Python 3.5.0 release candidate 1?
diff --git a/PCbuild/get_externals.bat b/PCbuild/get_externals.bat
index 3037326..f9b740f 100644
--- a/PCbuild/get_externals.bat
+++ b/PCbuild/get_externals.bat
@@ -55,9 +55,9 @@
             bzip2-1.0.6

             nasm-2.11.06

             openssl-1.0.2d

-            tcl-core-8.6.4.1

-            tk-8.6.4.1

-            tix-8.4.3.4

+            tcl-core-8.6.4.2

+            tk-8.6.4.2

+            tix-8.4.3.6

             sqlite-3.8.11.0

             xz-5.0.5

             ) do (

diff --git a/PCbuild/readme.txt b/PCbuild/readme.txt
index 9d5f342..68cdb0f 100644
--- a/PCbuild/readme.txt
+++ b/PCbuild/readme.txt
@@ -236,7 +236,7 @@
     Homepage:

         http://www.sqlite.org/

 _tkinter

-    Wraps version 8.6.1 of the Tk windowing system.

+    Wraps version 8.6.4 of the Tk windowing system.

     Homepage:

         http://www.tcl.tk/

 

diff --git a/PCbuild/tcl.vcxproj b/PCbuild/tcl.vcxproj
index 8f2544a..e9287c7 100644
--- a/PCbuild/tcl.vcxproj
+++ b/PCbuild/tcl.vcxproj
@@ -61,7 +61,8 @@
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   
   <PropertyGroup>
-    <TclOpts Condition="$(Configuration) == 'Debug'">symbols</TclOpts>
+    <TclOpts>ucrt</TclOpts>
+    <TclOpts Condition="$(Configuration) == 'Debug'">symbols,ucrt</TclOpts>
     <TclDirs>INSTALLDIR="$(OutDir.TrimEnd(`\`))" INSTALL_DIR="$(OutDir.TrimEnd(`\`))"</TclDirs>
     <DebugFlags Condition="'$(Configuration)' == 'Debug'">DEBUGFLAGS="-wd4456 -wd4457 -wd4458 -wd4459 -wd4996"</DebugFlags>
     <NMakeBuildCommandLine>setlocal
diff --git a/PCbuild/tcltk.props b/PCbuild/tcltk.props
index 96bd577..5e794e5 100644
--- a/PCbuild/tcltk.props
+++ b/PCbuild/tcltk.props
@@ -5,7 +5,7 @@
     <TclMajorVersion>8</TclMajorVersion>
     <TclMinorVersion>6</TclMinorVersion>
     <TclPatchLevel>4</TclPatchLevel>
-    <TclRevision>1</TclRevision>
+    <TclRevision>2</TclRevision>
     <TkMajorVersion>$(TclMajorVersion)</TkMajorVersion>
     <TkMinorVersion>$(TclMinorVersion)</TkMinorVersion>
     <TkPatchLevel>$(TclPatchLevel)</TkPatchLevel>
@@ -13,7 +13,7 @@
     <TixMajorVersion>8</TixMajorVersion>
     <TixMinorVersion>4</TixMinorVersion>
     <TixPatchLevel>3</TixPatchLevel>
-    <TixRevision>4</TixRevision>
+    <TixRevision>6</TixRevision>
     <tclDir>$(ExternalsDir)tcl-core-$(TclMajorVersion).$(TclMinorVersion).$(TclPatchLevel).$(TclRevision)\</tclDir>
     <tkDir>$(ExternalsDir)tk-$(TkMajorVersion).$(TkMinorVersion).$(TkPatchLevel).$(TkRevision)\</tkDir>
     <tixDir>$(ExternalsDir)tix-$(TixMajorVersion).$(TixMinorVersion).$(TixPatchLevel).$(TixRevision)\</tixDir>
diff --git a/PCbuild/tix.vcxproj b/PCbuild/tix.vcxproj
index 74a6b84..a1dad1e 100644
--- a/PCbuild/tix.vcxproj
+++ b/PCbuild/tix.vcxproj
@@ -56,11 +56,9 @@
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   
   <PropertyGroup>
-    <TkOpts>msvcrt</TkOpts>
-    <TkOpts Condition="$(Configuration) == 'Debug'">symbols,msvcrt</TkOpts>
     <TixDirs>BUILDDIRTOP="$(BuildDirTop)" TCL_DIR="$(tclDir.TrimEnd(`\`))" TK_DIR="$(tkDir.TrimEnd(`\`))" INSTALL_DIR="$(OutDir.TrimEnd(`\`))"</TixDirs>
-    <DebugFlags Condition="'$(Configuration)' == 'Debug'">DEBUG=1 NODEBUG=0 TCL_DBGX=g DEBUGFLAGS="-wd4456 -wd4457 -wd4458 -wd4459 -wd4996"</DebugFlags>
-    <DebugFlags Condition="'$(Configuration)' != 'Debug'">DEBUG=0 NODEBUG=1</DebugFlags>
+    <DebugFlags Condition="'$(Configuration)' == 'Debug'">DEBUG=1 NODEBUG=0 UCRT=1 TCL_DBGX=g TK_DBGX=g</DebugFlags>
+    <DebugFlags Condition="'$(Configuration)' != 'Debug'">DEBUG=0 NODEBUG=1 UCRT=1</DebugFlags>
     <NMakeBuildCommandLine>setlocal
 @(ExpectedOutputs->'if not exist "%(FullPath)" goto build','
 ')
diff --git a/PCbuild/tk.vcxproj b/PCbuild/tk.vcxproj
index 20749f7..589338c 100644
--- a/PCbuild/tk.vcxproj
+++ b/PCbuild/tk.vcxproj
@@ -60,8 +60,8 @@
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   
   <PropertyGroup>
-    <TkOpts>msvcrt</TkOpts>
-    <TkOpts Condition="$(Configuration) == 'Debug'">symbols,msvcrt</TkOpts>
+    <TkOpts>ucrt</TkOpts>
+    <TkOpts Condition="$(Configuration) == 'Debug'">symbols,ucrt</TkOpts>
     <TkDirs>TCLDIR="$(tclDir.TrimEnd(`\`))" INSTALLDIR="$(OutDir.TrimEnd(`\`))"</TkDirs>
     <DebugFlags Condition="'$(Configuration)' == 'Debug'">DEBUGFLAGS="-wd4456 -wd4457 -wd4458 -wd4459 -wd4996"</DebugFlags>
     <NMakeBuildCommandLine>setlocal
diff --git a/Tools/msi/tcltk/tcltk.wixproj b/Tools/msi/tcltk/tcltk.wixproj
index e1addd9..f66fc14 100644
--- a/Tools/msi/tcltk/tcltk.wixproj
+++ b/Tools/msi/tcltk/tcltk.wixproj
@@ -27,13 +27,6 @@
             <Target_>DLLs\</Target_>
             <Group>tcltk_dlls</Group>
         </InstallFiles>
-        <InstallFiles Include="$(VCInstallDir)redist\$(Platform)\Microsoft.VC$(PlatformToolset.Substring(1)).CRT\vcruntime$(PlatformToolset.Substring(1)).dll">
-            <SourceBase>$(VCInstallDir)redist\$(Platform)\</SourceBase>
-            <Source>$(VCInstallDir)redist\$(Platform)\</Source>
-            <TargetBase>$(VCInstallDir)redist\$(Platform)\</TargetBase>
-            <Target_>DLLs\</Target_>
-            <Group>tcltk_dlls</Group>
-        </InstallFiles>
 
         <InstallFiles Include="$(tcltkDir)lib\**\*">
             <SourceBase>$(tcltkDir)</SourceBase>