/
githubmirror
/
cpython
Обзор
Документация
Войти
/
githubmirror
/
cpython
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
PCbuild/pyproject-clangcl.props
58 строк
3 KB
Chris Eibl
GH-131296: Suppress "unused label" warning for clang-cl closer to actual occurrence (GH-131900)
11 апр 2025, 01:17
Не верифицирован
11 апр 2025, 01:17
e5f68fd
Код
Авторство
О чём код?
<?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <PropertyGroup Label="Globals"> <__PyprojectClangCl_Props_Imported>true</__PyprojectClangCl_Props_Imported> </PropertyGroup> <PropertyGroup> <!-- CLANG_PROFILE_PATH is configurable for "remote PGO builds" For convenience, we also accept paths without trailing slashes. --> <CLANG_PROFILE_PATH Condition="'$(CLANG_PROFILE_PATH)' == ''">$(OutDir)</CLANG_PROFILE_PATH> <_CLANG_PROFILE_PATH>$(CLANG_PROFILE_PATH)</_CLANG_PROFILE_PATH> <_CLANG_PROFILE_PATH Condition="!HasTrailingSlash($(_CLANG_PROFILE_PATH))">$(_CLANG_PROFILE_PATH)\</_CLANG_PROFILE_PATH> </PropertyGroup> <ItemGroup> <_profrawFiles Include="$(OutDir)instrumented\$(TargetName)_*.profraw" /> </ItemGroup> <Target Name="EnsureClangProfileData" BeforeTargets="PrepareForBuild" Condition="'$(SupportPGO)' and $(Configuration) == 'PGUpdate'"> <Error Text="PGO run did not succeed (no $(TargetName)_*.profraw files) and there is no data to merge" Condition="$(RequireProfileData) == 'true' and @(_profrawFiles) == ''" /> </Target> <Target Name="MergeClangProfileData" BeforeTargets="PrepareForBuild" Condition="'$(SupportPGO)' and $(Configuration) == 'PGUpdate'" Inputs="@(_profrawFiles)" Outputs="$(OutDir)instrumented\profdata.profdata"> <Exec Command='"$(LLVMInstallDir)\bin\llvm-profdata.exe" merge -output="$(OutDir)instrumented\profdata.profdata" "$(OutDir)instrumented\*_*.profraw"' /> </Target> <Target Name="CleanClangProfileData" BeforeTargets="Clean"> <Delete Files="@(_profrawFiles)" TreatErrorsAsWarnings="true" /> <Delete Files="$(OutDir)instrumented\profdata.profdata" TreatErrorsAsWarnings="true" /> </Target> <ItemDefinitionGroup> <ClCompile> <!-- ExceptionHandling=Async sets MSVC's /EHa (-fasync-exceptions in clang) For clang, /EHa just has a slightly different meaning compared to MSVC, so this option is needed to handle SEH correctly (even though MSVC does not need it). Please see GH-131691 for details. --> <ExceptionHandling>Async</ExceptionHandling> <AdditionalOptions>-Wno-pointer-sign -Wno-incompatible-pointer-types-discards-qualifiers -Wno-unused-function %(AdditionalOptions)</AdditionalOptions> <AdditionalOptions Condition="'$(Platform)' == 'Win32'">-m32 %(AdditionalOptions)</AdditionalOptions> <AdditionalOptions Condition="'$(Platform)' == 'x64'">-m64 %(AdditionalOptions)</AdditionalOptions> <AdditionalOptions Condition="$(Configuration) != 'Debug'">-flto=thin %(AdditionalOptions)</AdditionalOptions> <AdditionalOptions Condition="$(SupportPGO) and $(Configuration) == 'PGInstrument'">-fprofile-instr-generate=$(_CLANG_PROFILE_PATH)$(TargetName)_%m.profraw %(AdditionalOptions)</AdditionalOptions> <AdditionalOptions Condition="$(SupportPGO) and $(Configuration) == 'PGUpdate'">-fprofile-instr-use=$(OutDir)instrumented\profdata.profdata -Wno-profile-instr-unprofiled %(AdditionalOptions)</AdditionalOptions> </ClCompile> </ItemDefinitionGroup> </Project>