[clang] [llvm] [TargetParser][ARM][NFC] Make string tables reloc-free (PR #206937)
via cfe-commits
cfe-commits at lists.llvm.org
Wed Jul 1 03:38:17 PDT 2026
github-actions[bot] wrote:
<!--PREMERGE ADVISOR COMMENT: Windows-->
# :window: Windows x64 Test Results
* 62374 tests passed
* 1869 tests skipped
All executed tests passed, but another part of the build **failed**. Click on a failure below to see the details.
<details>
<summary>[code=1] unittests/TargetParser/CMakeFiles/TargetParserTests.dir/TargetParserTest.cpp.obj</summary>
```
FAILED: [code=1] unittests/TargetParser/CMakeFiles/TargetParserTests.dir/TargetParserTest.cpp.obj
sccache C:\clang\clang-msvc\bin\clang-cl.exe /nologo -TP -DLLVM_BUILD_STATIC -DUNICODE -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_NONSTDC_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS -D_GLIBCXX_ASSERTIONS -D_HAS_EXCEPTIONS=0 -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_EXTENSIVE -D_SCL_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -D_UNICODE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -IC:\_work\llvm-project\llvm-project\build\unittests\TargetParser -IC:\_work\llvm-project\llvm-project\llvm\unittests\TargetParser -IC:\_work\llvm-project\llvm-project\build\include -IC:\_work\llvm-project\llvm-project\llvm\include -IC:\_work\llvm-project\llvm-project\third-party\unittest\googletest\include -IC:\_work\llvm-project\llvm-project\third-party\unittest\googlemock\include /DWIN32 /D_WINDOWS /Zc:inline /Zc:__cplusplus /Oi /Brepro /bigobj /permissive- -Werror=unguarded-availability-new /W4 -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wno-pass-failed -Wmisleading-indentation -Wctad-maybe-unsupported /Gw /O2 /Ob2 -std:c++17 -MD -UNDEBUG -Wno-gnu-zero-variadic-macro-arguments /EHs-c- /GR- -Wno-suggest-override /showIncludes /Founittests\TargetParser\CMakeFiles\TargetParserTests.dir\TargetParserTest.cpp.obj /Fdunittests\TargetParser\CMakeFiles\TargetParserTests.dir\ -c -- C:\_work\llvm-project\llvm-project\llvm\unittests\TargetParser\TargetParserTest.cpp
In file included from C:\_work\llvm-project\llvm-project\llvm\unittests\TargetParser\TargetParserTest.cpp:9:
In file included from C:\_work\llvm-project\llvm-project\llvm\include\llvm/TargetParser/TargetParser.h:17:
In file included from C:\_work\llvm-project\llvm-project\llvm\include\llvm/TargetParser\SubtargetFeature.h:20:
In file included from C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ArrayRef.h:12:
In file included from C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/Hashing.h:52:
In file included from C:\BuildTools\VC\Tools\MSVC\14.44.35207\include\algorithm:12:
C:\BuildTools\VC\Tools\MSVC\14.44.35207\include\xmemory(732,76): error: no matching constructor for initialization of 'std::tuple<llvm::ARM::ArchExtKind, llvm::StringRef, llvm::StringRef>'
732 | ::new (const_cast<void*>(static_cast<const volatile void*>(_Ptr))) _Objty(_STD forward<_Types>(_Args)...);
| ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\BuildTools\VC\Tools\MSVC\14.44.35207\include\vector(863,27): note: in instantiation of function template specialization 'std::_Default_allocator_traits<std::allocator<std::tuple<llvm::ARM::ArchExtKind, llvm::StringRef, llvm::StringRef>>>::construct<std::tuple<llvm::ARM::ArchExtKind, llvm::StringRef, llvm::StringRef>, unsigned long long, llvm::StringRef, llvm::StringRef>' requested here
863 | _Alty_traits::construct(_Getal(), _Unfancy(_Mylast), _STD forward<_Valty>(_Val)...);
| ^
C:\BuildTools\VC\Tools\MSVC\14.44.35207\include\vector(845,20): note: in instantiation of function template specialization 'std::vector<std::tuple<llvm::ARM::ArchExtKind, llvm::StringRef, llvm::StringRef>>::_Emplace_back_with_unused_capacity<unsigned long long, llvm::StringRef, llvm::StringRef>' requested here
845 | return _Emplace_back_with_unused_capacity(_STD forward<_Valty>(_Val)...);
| ^
C:\BuildTools\VC\Tools\MSVC\14.44.35207\include\vector(924,24): note: in instantiation of function template specialization 'std::vector<std::tuple<llvm::ARM::ArchExtKind, llvm::StringRef, llvm::StringRef>>::_Emplace_one_at_back<unsigned long long, llvm::StringRef, llvm::StringRef>' requested here
924 | _Ty& _Result = _Emplace_one_at_back(_STD forward<_Valty>(_Val)...);
| ^
C:\_work\llvm-project\llvm-project\llvm\unittests\TargetParser\TargetParserTest.cpp(795,18): note: in instantiation of function template specialization 'std::vector<std::tuple<llvm::ARM::ArchExtKind, llvm::StringRef, llvm::StringRef>>::emplace_back<unsigned long long, llvm::StringRef, llvm::StringRef>' requested here
795 | Extensions.emplace_back(Ext.value(), Ext.name(1), Ext.name(2));
| ^
C:\BuildTools\VC\Tools\MSVC\14.44.35207\include\tuple(337,9): note: candidate constructor template not viable: no known conversion from 'unsigned long long' to 'const llvm::ARM::ArchExtKind' for 1st argument
337 | tuple(const _This& _This_arg, const _Rest&... _Rest_arg)
| ^ ~~~~~~~~~~~~~~~~~~~~~~
C:\BuildTools\VC\Tools\MSVC\14.44.35207\include\tuple(456,18): note: candidate constructor template not viable: no known conversion from 'unsigned long long' to 'allocator_arg_t' for 1st argument
456 | _CONSTEXPR20 tuple(allocator_arg_t, const _Alloc& _Al, const tuple& _Right)
| ^ ~~~~~~~~~~~~~~~
C:\BuildTools\VC\Tools\MSVC\14.44.35207\include\tuple(460,18): note: candidate constructor template not viable: no known conversion from 'unsigned long long' to 'allocator_arg_t' for 1st argument
460 | _CONSTEXPR20 tuple(allocator_arg_t, const _Alloc& _Al, tuple&& _Right)
| ^ ~~~~~~~~~~~~~~~
C:\BuildTools\VC\Tools\MSVC\14.44.35207\include\tuple(300,15): note: candidate template ignored: requirement 'is_same_v<unsigned long long, std::_Exact_args_t>' was not satisfied [with _Tag = unsigned long long, _This2 = llvm::StringRef, _Rest2 = <llvm::StringRef>]
300 | constexpr tuple(_Tag, _This2&& _This_arg, _Rest2&&... _Rest_arg)
| ^
C:\BuildTools\VC\Tools\MSVC\14.44.35207\include\tuple(304,15): note: candidate template ignored: could not match 'index_sequence<_Indices...>' (aka 'integer_sequence<unsigned long long, _Indices...>') against 'llvm::StringRef'
304 | constexpr tuple(_Tag, _Tpl&& _Right, index_sequence<_Indices...>);
| ^
C:\BuildTools\VC\Tools\MSVC\14.44.35207\include\tuple(313,15): note: candidate template ignored: requirement 'is_same_v<unsigned long long, std::_Alloc_exact_args_t>' was not satisfied [with _Tag = unsigned long long, _Alloc = llvm::StringRef, _This2 = llvm::StringRef, _Rest2 = <>]
313 | constexpr tuple(_Tag, const _Alloc& _Al, _This2&& _This_arg, _Rest2&&... _Rest_arg)
| ^
C:\BuildTools\VC\Tools\MSVC\14.44.35207\include\tuple(322,15): note: candidate template ignored: requirement 'is_same_v<unsigned long long, std::_Alloc_unpack_tuple_t>' was not satisfied [with _Tag = unsigned long long, _Alloc = llvm::StringRef, _Tpl = llvm::StringRef]
322 | constexpr tuple(_Tag, const _Alloc& _Al, _Tpl&& _Right)
| ^
C:\BuildTools\VC\Tools\MSVC\14.44.35207\include\tuple(451,9): note: candidate template ignored: requirement 'conjunction_v<std::_Tuple_perfect_val<std::tuple<llvm::ARM::ArchExtKind, llvm::StringRef, llvm::StringRef>, llvm::StringRef>, std::_Tuple_constructible_val<std::tuple<llvm::ARM::ArchExtKind, llvm::StringRef, llvm::StringRef>, llvm::StringRef>>' was not satisfied [with _Alloc = llvm::StringRef, _This2 = llvm::StringRef, _Rest2 = <>]
451 | tuple(allocator_arg_t, const _Alloc& _Al, _This2&& _This_arg, _Rest2&&... _Rest_arg)
| ^
C:\BuildTools\VC\Tools\MSVC\14.44.35207\include\tuple(478,9): note: candidate template ignored: could not match 'tuple<_Other...>' against 'llvm::StringRef'
478 | tuple(allocator_arg_t, const _Alloc& _Al, const tuple<_Other...>& _Right)
| ^
C:\BuildTools\VC\Tools\MSVC\14.44.35207\include\tuple(486,9): note: candidate template ignored: could not match 'tuple<_Other...>' against 'llvm::StringRef'
486 | tuple(allocator_arg_t, const _Alloc& _Al, tuple<_Other...>&& _Right)
| ^
C:\BuildTools\VC\Tools\MSVC\14.44.35207\include\tuple(508,9): note: candidate template ignored: could not match 'pair<_First, _Second>' against 'llvm::StringRef'
508 | tuple(allocator_arg_t, const _Alloc& _Al, const pair<_First, _Second>& _Right)
| ^
C:\BuildTools\VC\Tools\MSVC\14.44.35207\include\tuple(514,9): note: candidate template ignored: could not match 'pair<_First, _Second>' against 'llvm::StringRef'
514 | tuple(allocator_arg_t, const _Alloc& _Al, pair<_First, _Second>&& _Right)
| ^
C:\BuildTools\VC\Tools\MSVC\14.44.35207\include\tuple(347,9): note: candidate template ignored: requirement 'conjunction_v<std::_Tuple_perfect_val<std::tuple<llvm::ARM::ArchExtKind, llvm::StringRef, llvm::StringRef>, unsigned long long, llvm::StringRef, llvm::StringRef>, std::_Tuple_constructible_val<std::tuple<llvm::ARM::ArchExtKind, llvm::StringRef, llvm::StringRef>, unsigned long long, llvm::StringRef, llvm::StringRef>>' was not satisfied [with _This2 = unsigned long long, _Rest2 = <llvm::StringRef, llvm::StringRef>]
347 | tuple(_This2&& _This_arg, _Rest2&&... _Rest_arg)
| ^
C:\BuildTools\VC\Tools\MSVC\14.44.35207\include\tuple(437,9): note: candidate constructor template not viable: requires 2 arguments, but 3 were provided
437 | tuple(allocator_arg_t, const _Alloc& _Al)
| ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\BuildTools\VC\Tools\MSVC\14.44.35207\include\tuple(307,15): note: candidate constructor template not viable: requires 2 arguments, but 3 were provided
307 | constexpr tuple(_Tag, _Tpl&& _Right)
| ^ ~~~~~~~~~~~~~~~~~~~
C:\BuildTools\VC\Tools\MSVC\14.44.35207\include\tuple(319,15): note: candidate constructor template not viable: requires 4 arguments, but 3 were provided
319 | constexpr tuple(_Tag, const _Alloc& _Al, _Tpl&& _Right, index_sequence<_Indices...>);
| ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\BuildTools\VC\Tools\MSVC\14.44.35207\include\tuple(351,5): note: candidate constructor not viable: requires 1 argument, but 3 were provided
351 | tuple(const tuple&) = default;
| ^ ~~~~~~~~~~~~
C:\BuildTools\VC\Tools\MSVC\14.44.35207\include\tuple(352,5): note: candidate constructor not viable: requires 1 argument, but 3 were provided
352 | tuple(tuple&&) = default;
| ^ ~~~~~~~
C:\BuildTools\VC\Tools\MSVC\14.44.35207\include\tuple(366,80): note: candidate constructor template not viable: requires single argument '_Right', but 3 arguments were provided
366 | constexpr explicit(_Tuple_conditional_explicit_v<tuple, const _Other&...>) tuple(const tuple<_Other...>& _Right)
| ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\BuildTools\VC\Tools\MSVC\14.44.35207\include\tuple(373,73): note: candidate constructor template not viable: requires single argument '_Right', but 3 arguments were provided
373 | constexpr explicit(_Tuple_conditional_explicit_v<tuple, _Other...>) tuple(tuple<_Other...>&& _Right)
| ^ ~~~~~~~~~~~~~~~~~~~~~~~~~
C:\BuildTools\VC\Tools\MSVC\14.44.35207\include\tuple(394,9): note: candidate constructor template not viable: requires single argument '_Right', but 3 arguments were provided
394 | tuple(const pair<_First, _Second>& _Right)
| ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\BuildTools\VC\Tools\MSVC\14.44.35207\include\tuple(399,79): note: candidate constructor template not viable: requires single argument '_Right', but 3 arguments were provided
399 | constexpr explicit(_Tuple_conditional_explicit_v<tuple, _First, _Second>) tuple(pair<_First, _Second>&& _Right)
| ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\BuildTools\VC\Tools\MSVC\14.44.35207\include\tuple(443,9): note: candidate constructor template not viable: requires 5 arguments, but 3 were provided
443 | tuple(allocator_arg_t, const _Alloc& _Al, const _This& _This_arg, const _Rest&... _Rest_arg)
| ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\BuildTools\VC\Tools\MSVC\14.44.35207\include\tuple(331,9): note: candidate constructor template not viable: requires 0 arguments, but 3 were provided
331 | tuple() noexcept(conjunction_v<is_nothrow_default_constructible<_This2>,
| ^
In file included from C:\_work\llvm-project\llvm-project\llvm\unittests\TargetParser\TargetParserTest.cpp:9:
In file included from C:\_work\llvm-project\llvm-project\llvm\include\llvm/TargetParser/TargetParser.h:17:
In file included from C:\_work\llvm-project\llvm-project\llvm\include\llvm/TargetParser\SubtargetFeature.h:20:
In file included from C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ArrayRef.h:13:
In file included from C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/STLExtras.h:21:
In file included from C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/STLForwardCompat.h:21:
In file included from C:\BuildTools\VC\Tools\MSVC\14.44.35207\include\functional:18:
In file included from C:\BuildTools\VC\Tools\MSVC\14.44.35207\include\unordered_map:10:
In file included from C:\BuildTools\VC\Tools\MSVC\14.44.35207\include\xhash:13:
C:\BuildTools\VC\Tools\MSVC\14.44.35207\include\vector(900,9): error: no matching function for call to 'construct'
900 | _Alty_traits::construct(_Al, _STD _Unfancy(_Newvec + _Whereoff), _STD forward<_Valty>(_Val)...);
| ^~~~~~~~~~~~~~~~~~~~~~~
C:\BuildTools\VC\Tools\MSVC\14.44.35207\include\vector(848,17): note: in instantiation of function template specialization 'std::vector<std::tuple<llvm::ARM::ArchExtKind, llvm::StringRef, llvm::StringRef>>::_Emplace_reallocate<unsigned long long, llvm::StringRef, llvm::StringRef>' requested here
848 | return *_Emplace_reallocate(_Mylast, _STD forward<_Valty>(_Val)...);
| ^
C:\BuildTools\VC\Tools\MSVC\14.44.35207\include\vector(924,24): note: in instantiation of function template specialization 'std::vector<std::tuple<llvm::ARM::ArchExtKind, llvm::StringRef, llvm::StringRef>>::_Emplace_one_at_back<unsigned long long, llvm::StringRef, llvm::StringRef>' requested here
924 | _Ty& _Result = _Emplace_one_at_back(_STD forward<_Valty>(_Val)...);
| ^
C:\_work\llvm-project\llvm-project\llvm\unittests\TargetParser\TargetParserTest.cpp(795,18): note: in instantiation of function template specialization 'std::vector<std::tuple<llvm::ARM::ArchExtKind, llvm::StringRef, llvm::StringRef>>::emplace_back<unsigned long long, llvm::StringRef, llvm::StringRef>' requested here
795 | Extensions.emplace_back(Ext.value(), Ext.name(1), Ext.name(2));
| ^
C:\BuildTools\VC\Tools\MSVC\14.44.35207\include\xmemory(728,30): note: candidate template ignored: substitution failure [with _Objty = std::tuple<llvm::ARM::ArchExtKind, llvm::StringRef, llvm::StringRef>, _Types = <unsigned long long, llvm::StringRef, llvm::StringRef>]
728 | static _CONSTEXPR20 void construct(_Alloc&, _Objty* const _Ptr, _Types&&... _Args) {
| ^
2 errors generated.
```
</details>
If these failures are unrelated to your changes (for example tests are broken or flaky at HEAD), please open an issue at https://github.com/llvm/llvm-project/issues and add the `infrastructure` label.
https://github.com/llvm/llvm-project/pull/206937
More information about the cfe-commits
mailing list