mirror of
https://github.com/python/cpython.git
synced 2026-04-21 19:31:17 +00:00
GH-148047: Check early whether tail-calling is possible for MSVC builds on Windows (#148036)
Rather than failing late when compiling e.g. a debug configuration ``` build.bat -c debug --tail-call-interp ``` with hundreds of ``` error C4737: Unable to perform required tail call. Performance may be degraded. ``` -- fail early with an explicit error message for configurations that are not supported by MSVC. This is a follow-up on https://github.com/python/cpython/issues/140513 / https://github.com/python/cpython/pull/140548
This commit is contained in:
parent
208195dff4
commit
cbd81d59cf
2 changed files with 11 additions and 0 deletions
|
|
@ -0,0 +1,2 @@
|
|||
Fail fast with an explicit and clear error message if tail-calling is not
|
||||
possible for MSVC builds on Windows. Patch by Chris Eibl.
|
||||
|
|
@ -749,4 +749,13 @@
|
|||
<Target Name="_DeletePyBuildDirTxt" BeforeTargets="PrepareForBuild">
|
||||
<Delete Files="$(OutDir)pybuilddir.txt" />
|
||||
</Target>
|
||||
|
||||
<Target Name="_CheckTailCalling" BeforeTargets="PrepareForBuild" Condition="'$(UseTailCallInterp)' == 'true' and $(PlatformToolset) != 'ClangCL'">
|
||||
<Error Text="MSVC supports tail-calling only for x64."
|
||||
Condition="$(Platform) != 'x64'" />
|
||||
<Error Text="Platform toolset >= v145 is required for tail-calling."
|
||||
Condition="$(PlatformToolset.Replace('v', '0')) < '145'" />
|
||||
<Error Text="MSVC requires optimization to be enabled for tail-calling."
|
||||
Condition="$(Configuration) == 'Debug'" />
|
||||
</Target>
|
||||
</Project>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue