In an internal version of Visual Studio, llvm install failed with
following error, the reason is missing `typename` keyword.
```
[4444/5079] C:\PROGRA~1\MICROS~1\2022\ENTERP~1\VC\Tools\MSVC\1438~1.331\bin\Hostx64\x64\cl.exe /TP -DUNICODE -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_NONSTDC_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS -D_SCL_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -D_UNICODE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -ID:\b\llvm\x64-windows-dbg\tools\dsymutil -ID:\b\llvm\src\org-17.0.2-5fdca9a361.clean\llvm\tools\dsymutil -ID:\b\llvm\x64-windows-dbg\include -ID:\b\llvm\src\org-17.0.2-5fdca9a361.clean\llvm\include -external:ID:\installed\x64-windows\include -external:W0 /nologo /DWIN32 /D_WINDOWS /utf-8 /MP /Zc:inline /Zc:preprocessor /Zc:__cplusplus /Oi /bigobj /permissive- /W4 -wd4141 -wd4146 -wd4244 -wd4267 -wd4291 -wd4351 -wd4456 -wd4457 -wd4458 -wd4459 -wd4503 -wd4624 -wd4722 -wd4100 -wd4127 -wd4512 -wd4505 -wd4610 -wd4510 -wd4702 -wd4245 -wd4706 -wd4310 -wd4701 -wd4703 -wd4389 -wd4611 -wd4805 -wd4204 -wd4577 -wd4091 -wd4592 -wd4319 -wd4709 -wd5105 -wd4324 -w14062 -we4238 /D_DEBUG /MDd /Z7 /Ob0 /Od /RTC1 -std:c++17 -MDd /EHsc /GR /showIncludes /Fotools\dsymutil\CMakeFiles\dsymutil.dir\DwarfLinkerForBinary.cpp.obj /Fdtools\dsymutil\CMakeFiles\dsymutil.dir\ /FS -c D:\b\llvm\src\org-17.0.2-5fdca9a361.clean\llvm\tools\dsymutil\DwarfLinkerForBinary.cpp
FAILED: tools/dsymutil/CMakeFiles/dsymutil.dir/DwarfLinkerForBinary.cpp.obj
C:\PROGRA~1\MICROS~1\2022\ENTERP~1\VC\Tools\MSVC\1438~1.331\bin\Hostx64\x64\cl.exe /TP -DUNICODE -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_NONSTDC_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS -D_SCL_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -D_UNICODE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -ID:\b\llvm\x64-windows-dbg\tools\dsymutil -ID:\b\llvm\src\org-17.0.2-5fdca9a361.clean\llvm\tools\dsymutil -ID:\b\llvm\x64-windows-dbg\include -ID:\b\llvm\src\org-17.0.2-5fdca9a361.clean\llvm\include -external:ID:\installed\x64-windows\include -external:W0 /nologo /DWIN32 /D_WINDOWS /utf-8 /MP /Zc:inline /Zc:preprocessor /Zc:__cplusplus /Oi /bigobj /permissive- /W4 -wd4141 -wd4146 -wd4244 -wd4267 -wd4291 -wd4351 -wd4456 -wd4457 -wd4458 -wd4459 -wd4503 -wd4624 -wd4722 -wd4100 -wd4127 -wd4512 -wd4505 -wd4610 -wd4510 -wd4702 -wd4245 -wd4706 -wd4310 -wd4701 -wd4703 -wd4389 -wd4611 -wd4805 -wd4204 -wd4577 -wd4091 -wd4592 -wd4319 -wd4709 -wd5105 -wd4324 -w14062 -we4238 /D_DEBUG /MDd /Z7 /Ob0 /Od /RTC1 -std:c++17 -MDd /EHsc /GR /showIncludes /Fotools\dsymutil\CMakeFiles\dsymutil.dir\DwarfLinkerForBinary.cpp.obj /Fdtools\dsymutil\CMakeFiles\dsymutil.dir\ /FS -c D:\b\llvm\src\org-17.0.2-5fdca9a361.clean\llvm\tools\dsymutil\DwarfLinkerForBinary.cpp
D:\b\llvm\src\org-17.0.2-5fdca9a361.clean\llvm\tools\dsymutil\DwarfLinkerForBinary.cpp(954): error C2275: 'llvm::dsymutil::DwarfLinkerForBinary::AddressManager<llvm::dwarflinker_parallel::AddressesMap>::ValidReloc': expected an expression instead of a type
D:\b\llvm\src\org-17.0.2-5fdca9a361.clean\llvm\tools\dsymutil\DwarfLinkerForBinary.cpp(954): note: the template instantiation context (the oldest one first) is
D:\b\llvm\src\org-17.0.2-5fdca9a361.clean\llvm\tools\dsymutil\DwarfLinkerForBinary.cpp(557): note: see reference to function template instantiation 'bool llvm::dsymutil::DwarfLinkerForBinary::linkImpl<llvm::dwarflinker_parallel::DWARFLinker,llvm::dwarflinker_parallel::DWARFFile,llvm::dsymutil::DwarfLinkerForBinary::AddressManager<llvm::dwarflinker_parallel::AddressesMap>>(const llvm::dsymutil::DebugMap &,llvm::dwarflinker_parallel::DWARFLinker::OutputFileType)' being compiled
D:\b\llvm\src\org-17.0.2-5fdca9a361.clean\llvm\tools\dsymutil\DwarfLinkerForBinary.cpp(651): note: see reference to function template instantiation 'llvm::ErrorOr<std::unique_ptr<llvm::dwarflinker_parallel::DWARFFile,std::default_delete<llvm::dwarflinker_parallel::DWARFFile>>> llvm::dsymutil::DwarfLinkerForBinary::loadObject<llvm::dwarflinker_parallel::DWARFFile,llvm::dsymutil::DwarfLinkerForBinary::AddressManager<llvm::dwarflinker_parallel::AddressesMap>>(const llvm::dsymutil::DebugMapObject &,const llvm::dsymutil::DebugMap &,llvm::remarks::RemarkLinker &)' being compiled
D:\b\llvm\src\org-17.0.2-5fdca9a361.clean\llvm\tools\dsymutil\DwarfLinkerForBinary.cpp(237): note: see reference to class template instantiation 'std::unique_ptr<llvm::dsymutil::DwarfLinkerForBinary::AddressManager<llvm::dwarflinker_parallel::AddressesMap>,std::default_delete<llvm::dsymutil::DwarfLinkerForBinary::AddressManager<llvm::dwarflinker_parallel::AddressesMap>>>' being compiled
C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.38.33130\include\memory(3335): note: see reference to class template instantiation 'std::default_delete<llvm::dsymutil::DwarfLinkerForBinary::AddressManager<llvm::dwarflinker_parallel::AddressesMap>>' being compiled
C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.38.33130\include\memory(3298): note: while compiling class template member function 'void std::default_delete<llvm::dsymutil::DwarfLinkerForBinary::AddressManager<llvm::dwarflinker_parallel::AddressesMap>>::operator ()(_Ty *) noexcept const'
with
[
_Ty=llvm::dsymutil::DwarfLinkerForBinary::AddressManager<llvm::dwarflinker_parallel::AddressesMap>
]
C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.38.33130\include\memory(3410): note: see the first reference to 'std::default_delete<llvm::dsymutil::DwarfLinkerForBinary::AddressManager<llvm::dwarflinker_parallel::AddressesMap>>::operator ()' in 'std::unique_ptr<llvm::dsymutil::DwarfLinkerForBinary::AddressManager<llvm::dwarflinker_parallel::AddressesMap>,std::default_delete<llvm::dsymutil::DwarfLinkerForBinary::AddressManager<llvm::dwarflinker_parallel::AddressesMap>>>::~unique_ptr'
D:\b\llvm\src\org-17.0.2-5fdca9a361.clean\llvm\tools\dsymutil\DwarfLinkerForBinary.cpp(235): note: see the first reference to 'std::unique_ptr<llvm::dsymutil::DwarfLinkerForBinary::AddressManager<llvm::dwarflinker_parallel::AddressesMap>,std::default_delete<llvm::dsymutil::DwarfLinkerForBinary::AddressManager<llvm::dwarflinker_parallel::AddressesMap>>>::~unique_ptr' in 'llvm::dsymutil::DwarfLinkerForBinary::loadObject'
C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.38.33130\include\memory(3299): note: see reference to class template instantiation 'llvm::dsymutil::DwarfLinkerForBinary::AddressManager<llvm::dwarflinker_parallel::AddressesMap>' being compiled
D:\b\llvm\src\org-17.0.2-5fdca9a361.clean\llvm\tools\dsymutil\DwarfLinkerForBinary.cpp(1034): note: while compiling class template member function 'std::optional<int64_t> llvm::dsymutil::DwarfLinkerForBinary::AddressManager<llvm::dwarflinker_parallel::AddressesMap>::getExprOpAddressRelocAdjustment(llvm::DWARFUnit &,const llvm::DWARFExpression::Operation &,uint64_t,uint64_t)'
D:\b\llvm\src\org-17.0.2-5fdca9a361.clean\llvm\tools\dsymutil\DwarfLinkerForBinary.cpp(952): note: while compiling class template member function 'std::vector<llvm::dsymutil::DwarfLinkerForBinary::AddressManager<llvm::dwarflinker_parallel::AddressesMap>::ValidReloc,std::allocator<llvm::dsymutil::DwarfLinkerForBinary::AddressManager<llvm::dwarflinker_parallel::AddressesMap>::ValidReloc>> llvm::dsymutil::DwarfLinkerForBinary::AddressManager<llvm::dwarflinker_parallel::AddressesMap>::getRelocations(const std::vector<llvm::dsymutil::DwarfLinkerForBinary::AddressManager<llvm::dwarflinker_parallel::AddressesMap>::ValidReloc,std::allocator<llvm::dsymutil::DwarfLinkerForBinary::AddressManager<llvm::dwarflinker_parallel::AddressesMap>::ValidReloc>> &,uint64_t,uint64_t)'
D:\b\llvm\src\org-17.0.2-5fdca9a361.clean\llvm\tools\dsymutil\DwarfLinkerForBinary.cpp(1114): note: see the first reference to 'llvm::dsymutil::DwarfLinkerForBinary::AddressManager<llvm::dwarflinker_parallel::AddressesMap>::getRelocations' in 'llvm::dsymutil::DwarfLinkerForBinary::AddressManager<llvm::dwarflinker_parallel::AddressesMap>::applyValidRelocs'
D:\b\llvm\src\org-17.0.2-5fdca9a361.clean\llvm\tools\dsymutil\DwarfLinkerForBinary.cpp(953): error C2923: 'std::vector': 'llvm::dsymutil::DwarfLinkerForBinary::AddressManager<llvm::dwarflinker_parallel::AddressesMap>::ValidReloc' is not a valid template type argument for parameter '_Ty'
D:\b\llvm\src\org-17.0.2-5fdca9a361.clean\llvm\tools\dsymutil\DwarfLinkerForBinary.cpp(954): note: see declaration of 'llvm::dsymutil::DwarfLinkerForBinary::AddressManager<llvm::dwarflinker_parallel::AddressesMap>::ValidReloc'
D:\b\llvm\src\org-17.0.2-5fdca9a361.clean\llvm\tools\dsymutil\DwarfLinkerForBinary.cpp(953): error C2976: 'std::vector': too few template arguments
C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.38.33130\include\vector(429): note: see declaration of 'std::vector'
D:\b\llvm\src\org-17.0.2-5fdca9a361.clean\llvm\tools\dsymutil\DwarfLinkerForBinary.cpp(955): error C2641: cannot deduce template arguments for 'std::vector'
```
Reported upstream: https://github.com/llvm/llvm-project/issues/89056.
- [x] Changes comply with the [maintainer
guide](https://github.com/microsoft/vcpkg-docs/blob/main/vcpkg/contributing/maintainer-guide.md).
- [ ] ~SHA512s are updated for each updated download.~
- [ ] ~The "supports" clause reflects platforms that may be fixed by
this new version.~
- [ ] ~Any fixed [CI
baseline](https://github.com/microsoft/vcpkg/blob/master/scripts/ci.baseline.txt)
entries are removed from that file.~
- [ ] ~Any patches that are no longer applied are deleted from the
port's directory.~
- [x] The version database is fixed by rerunning `./vcpkg x-add-version
--all` and committing the result.
- [x] Only one version is added to each modified port's versions file.
---------
Co-authored-by: Monica <v-liumonica@microsoft.com>
* [llvm] Update port to 15.0.1
The patchset is rebased onto llvmorg-15.0.1, with some significant
differences especially around install paths. The NixOS project
appears to be midway through a large change to the install path
mechanics, for the same purpose as this patchset.
When that has landed, it looks like most of these patches can go away.
* [llvm] x-add-version for 15.0.1
* [llvm] Add enable-ios feature flag
This passes straight through to COMPILER_RT_ENABLE_IOS, which is
defaulted to ON in LLVM. This is a problem if your build host
doesn't have the iOS SDK installed, such as on vcpkg CI.
Co-authored-by: Josh Channings <josh@channings.me.uk>
* [vcpkg_baseline][llvm] Fix file conflicts for libiomp5md.dll
* update version
* add llvm
* version
* Correct files
* update version
* lib
* vdb
* fix before install
* version
* fix in end line
* version
* bin not lib
* version
* test patch
* version
* revert intel-mkl and disable libomp on WIN32
* version
* disable create symlink
* version
* Optimization patch
* version
* remove sapce
* version
* patch name
* vdb
* [LLVM] Update to 14.0.6
* add version
* Use VERSION rather than making specific LLVM_VERSION.
Co-authored-by: Billy Robert O'Neal III <bion@microsoft.com>
* [llvm] update to v14.0.0
* [llvm] BOLT sub-project support
* [llvm] fix tools install paths
* [halide] update to v14.0.0
* update versions
* [vcpkg-get-python-packages] fix "LOGNAME should be specified" warning
* [mesa] update to v22.0.1
* update versions
* update versions
* update version
* [mesa] update to 22.0.2
* update version
* [mesa] update patches
* update version
* [llvm] update to v14.0.3
* update version
* [llvm] remove depricated feature
* [llvm] allow to build OpenMP on Windows and remove incomplete cross-compile support
* update version
* [llvm] use vcpkg_cmake_get_vars
* [llvm/openmp] install CMake file in share/openmp
* [llvm] add vcpkg-cmake-get-vars dependency and slip post build check if OpenMP is enabled
* update version
* [llvm] fix abi-breaking-checks to always be disabled
in Debug builds, LLVM_ABI_BREAKING_CHECKS was on by default;
however, they use the release headers (which set it to OFF)
this results in a mismatch,
and means you can't link LLVM
* update port version
* version
Co-authored-by: nicole mazzuca <mazzucan@outlook.com>
Co-authored-by: JackBoosY <yuzaiyang@beyondsoft.com>
* [llvm] update to 13.0.0
* add version
* [llvm] rework processing of the CMake packages
* update versions
* [llvm] return patch to fix config paths
* update version
* [llvm] allow to build Flang on Windows
* add version
* [llvm] temporary enable Flang by default for test
* update version
* [llvm] fix Flang installation
* update version
* [llvm] try to fix Flang build
* update version
* [llvm] remove Flang from defaults and use Perl path
* [halide] update to 13.0.0
* update versions
* [mesa] update to v21.2.5 and fix build with LLVM 13
* [llvm] use version
* update versions
* [opencv4] fix build with Halide 13
* update version
* update ci.baseline
* [halide] update usage file
* [llvm] update supports
* update versions
* [vcpkg-ci-llvm] add test port
* [vcpkg-ci-llvm] rework test port
* [vcpkg-ci-llvm] test more features
* [halide] update to v13.0.1
* update version
* [mesa] recover port version
* update versions
* [opencv4] update version
* update version
* Update opencv4.json
* [halide] update to v13.0.2 and fix usage
* update version
* Update ports/halide/portfile.cmake
Co-authored-by: Phoebe <20694052+PhoebeHui@users.noreply.github.com>
* update version
* enable LLVM ABI breaking checks to avoid Halide build fail
Co-authored-by: Phoebe <20694052+PhoebeHui@users.noreply.github.com>
* [llvm] update to 12.0.0, enable zlib and libxml2
* [llvm] disable libxml2 by default, arm64-windows should be supported
* [llvm] try to fix build with ffi on Windows #17663
* [llvm] re-enable libxml2
* [llvm] fix formatting
* [llvm] overwrite version
* [mesa] update to v21.1.0
* [llvm] update ci.baseline
* [halide] update to the latest master commit
* [llvm] disable libxml2 port until complete PR #15390
* update versions
* [llvm] fix disabling of external libraries
* update version
* update ci.baseline
* update ci.baseline
* fix typo
* [llvm] fix libxml2 (depends on #17945)
* revert "[halide] update to the latest master commit"
* update versions
* [halide] fix zlib dependency for tools
* update versions
* [halide] update to official release v12.0.0
* update versions
* [halide] update to v12.0.1
* update version
* [mesa] remove llvm from defaults
* update version
* update ci.baseline
* [mesa] update to v21.1.2 and fix build with LLVM on Windows
* [llvm] allow to build libunwind project on Windows
* update versions
* [mesa] update ci.baseline.txt to disable x64-windows-static-md, may be fixed in the PR #18495
* [vcpkg] allow to use semicolons in COMMAND argument
* [llvm] update to 11.0.0
* [vcpkg] use latest version
* [vcpkg] allow to use semicolons in OPTIONS
* fix vcpkg_fixup_cmake_targets
* [llvm] fix more install paths, add /bigobj option, fix up CMake targets
* Apply suggestions from code review
* [llvm] fix clang, flang, lld, mlir and polly CMake targets
* [llvm] remove empty include directory /include/flang/Config
* [llvm] Flang requires C++17
* [llvm] add /Zc:__cplusplus
* [llvm] remove empty include directory include/clang-tidy/plugin
* [llvm] try to fix ClangConfig.cmake, LLVMConfig.cmake, LLDConfig.cmake etc. with patch
* [llvm] set tools install dir to tools/llvm
* [aws-sdk-cpp] fix build after changes in vcpkg_configure_cmake.cmake
* [llvm] disable Flang and OpenMP on Windows
Co-authored-by: Nicole Mazzuca <mazzucan@outlook.com>
* [llvm] install tools in tools/llvm
* remove the giant commented out block of code
* update port-version
* hopefully fix the port?
There are still some issues, namely that the python scripts and DLLs that are copied into `tools/llvm`
are not considered to be "installed by llvm", and thus are not removed when llvm is removed
* format!
* apparently REGEX REPLACE fails if a thing doesn't match
* fix LLVM_REMOVE_EXTENSION_REGEX on windows
* actually read the cmake regex docs...
* fix the name of the variable
* turns out CMAKE_MATCH_1 is the one I want
* need to update VERSION for new policy
* stop removing debug/bin
* fix faulty merge
* fix LLVM target-all feature
* [halide] bump Halide to version 10.0.0
* Use empty package policy to allow plugins to be located in lib.
This is following the recommendations in a conversation I had
with Robert Schumacher on the #vcpkg CppLang Slack channel.
This recommendation was derived from the fact that "cmake
defaults module DLLs into the lib folder, which makes vcpkg's
current policy very inconvenient for authors" and that I do not
plan to enable build systems other than CMake.
* [halide] skip x86-windows due to MSVC bug
* [halide] restore x64-windows-static fail status
* add usage file to Halide
* Update CONTROL version
* Remove '!emscripten` from ports/halide/CONTROL
Co-authored-by: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com>
Co-authored-by: Lily <47812810+LilyWangL@users.noreply.github.com>
Co-authored-by: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com>
* [vcpkg] Bump Linux VM memory size and do all operations on the temporary disk.
* [llvm] disable optional dependencies to libxml2 and zlib
* [vcpkg] Reduce quotas on the share to something reasonable.
* [mpir] Skip on Linux because it conflicts with libgmp.
Co-authored-by: yurybura <yurybura@gmail.com>
* [llvm] Update to version 10.0.0 and new features
* switch to llvmorg-10.0.0-rc3, allow to use bin directory for tools
* Fix CMake targets after vcpkg_fixup_cmake_targets call.
* [halide] Update to master version to support LLVM 10
* [halide] fix x64-osx build
* [llvm] add enable-assertions feature
* [llvm] fix comment
* [llvm] enable ci for x64-linux and x64-osx
* [llvm] update to v10.0.0-rc5
[llvm] disable assertions and ABI breaking checks by default
[llvm] limit the maximum number of concurrent link jobs to 1
[llvm] add postfix `d` and debug shared libraries in the `/bin` directory
* [llvm] revert debug postfix `d`
[llvm] don't remove debug version of tools and shared libs
* [llvm] fix debug tools path
* [llvm] update to release tag llvmorg-10.0.0
[llvm] build with CMAKE_DEBUG_POSTFIX=d
[llvm] remove debug binaries
* remove new CMake argument FOLLOW_SYMLINK_CHAIN
* [llvm] force TableGen to be built with optimization
* [llvm] add future disable-clang-static-analyzer
* [llvm] add futures for main targets
[llvm] remove utils and clang-tools-extra from default features list
[llvm] exclude tests
* [llvm] add features for main targets
[llvm] remove utils and clang-tools-extra from default features list
[llvm] exclude tests
* [llvm] update features description
Co-authored-by: Jack·Boos·Yu <47264268+JackBoosY@users.noreply.github.com>
* re-trigger ci test
* [kealib] Switch repo to github
* [mongo-c-driver] Set icu as a feature
* [monkeys-audio] Update version to 5.24
* [mongo-c-driver] Fix arm build
* [mongo-c-driver] Re-generate patch
* [mongo-c-driver] Remove key word PRIVATE in patch
* [llvm] Remove default feature tools
* [llvm] Add judgment to install tools
* [llvm] Add more condition
* [llvm] Fix clang cmake files when selecting feature tools
* [halide] Fix build depends info in CONTROL
* update baseline
* Fix osx baseline
* fix osg configure issue
* re-trigger ci test
* re-trigger ci test
* [osg] Revert changes with osg and temporarily skip osg detection
* trigger ci test
* update baseline
Co-authored-by: Phoebe <20694052+PhoebeHui@users.noreply.github.com>