[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