[clang] [clang-tools-extra] [lldb] [llvm] [Support][JSON] Use `std::unordered_map` for object storage (PR #171230)

LLVM Continuous Integration via llvm-commits llvm-commits at lists.llvm.org
Fri Apr 24 05:34:24 PDT 2026


llvm-ci wrote:

LLVM Buildbot has detected a new failure on builder `clang-with-lto-ubuntu` running on `as-worker-91` while building `clang-tools-extra,clang,lldb,llvm` at step 6 "build-stage1-compiler".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/49/builds/3593

<details>
<summary>Here is the relevant piece of the build log for the reference</summary>

```
Step 6 (build-stage1-compiler) failure: build (failure)
...
2.234 [6870/72/61] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/LineIterator.cpp.o
2.237 [6869/72/62] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/MemoryBufferRef.cpp.o
2.260 [6868/72/63] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/BinaryStreamWriter.cpp.o
2.261 [6867/72/64] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/FileOutputBuffer.cpp.o
2.283 [6866/72/65] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Optional.cpp.o
2.375 [6865/72/66] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/ManagedStatic.cpp.o
2.422 [6864/72/67] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/OptionStrCmp.cpp.o
2.437 [6863/72/68] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/GraphWriter.cpp.o
2.470 [6862/72/69] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Error.cpp.o
2.566 [6861/72/70] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/ARMAttributeParser.cpp.o
FAILED: lib/Support/CMakeFiles/LLVMSupport.dir/ARMAttributeParser.cpp.o 
/usr/bin/c++ -D_GLIBCXX_USE_CXX11_ABI=1 -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/buildbot/as-worker-91/clang-with-lto-ubuntu/build/stage1/lib/Support -I/home/buildbot/as-worker-91/clang-with-lto-ubuntu/llvm-project/llvm/lib/Support -I/home/buildbot/as-worker-91/clang-with-lto-ubuntu/build/stage1/include -I/home/buildbot/as-worker-91/clang-with-lto-ubuntu/llvm-project/llvm/include -I/home/buildbot/as-worker-91/clang-with-lto-ubuntu/llvm-project/llvm/../third-party/siphash/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-redundant-move -Wno-pessimizing-move -Wno-array-bounds -Wno-stringop-overread -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG -fno-exceptions -funwind-tables -fno-rtti -std=c++17 -MD -MT lib/Support/CMakeFiles/LLVMSupport.dir/ARMAttributeParser.cpp.o -MF lib/Support/CMakeFiles/LLVMSupport.dir/ARMAttributeParser.cpp.o.d -o lib/Support/CMakeFiles/LLVMSupport.dir/ARMAttributeParser.cpp.o -c /home/buildbot/as-worker-91/clang-with-lto-ubuntu/llvm-project/llvm/lib/Support/ARMAttributeParser.cpp
In file included from /usr/include/c++/11/bits/stl_algobase.h:64,
                 from /usr/include/c++/11/bits/char_traits.h:39,
                 from /usr/include/c++/11/string:40,
                 from /usr/include/c++/11/bits/locale_classes.h:40,
                 from /usr/include/c++/11/bits/ios_base.h:41,
                 from /usr/include/c++/11/streambuf:41,
                 from /usr/include/c++/11/bits/streambuf_iterator.h:35,
                 from /usr/include/c++/11/iterator:66,
                 from /home/buildbot/as-worker-91/clang-with-lto-ubuntu/llvm-project/llvm/include/llvm/ADT/ADL.h:13,
                 from /home/buildbot/as-worker-91/clang-with-lto-ubuntu/llvm-project/llvm/include/llvm/ADT/Hashing.h:47,
                 from /home/buildbot/as-worker-91/clang-with-lto-ubuntu/llvm-project/llvm/include/llvm/ADT/ArrayRef.h:12,
                 from /home/buildbot/as-worker-91/clang-with-lto-ubuntu/llvm-project/llvm/include/llvm/Support/ELFAttributes.h:12,
                 from /home/buildbot/as-worker-91/clang-with-lto-ubuntu/llvm-project/llvm/include/llvm/Support/ARMBuildAttributes.h:22,
                 from /home/buildbot/as-worker-91/clang-with-lto-ubuntu/llvm-project/llvm/include/llvm/Support/ARMAttributeParser.h:12,
                 from /home/buildbot/as-worker-91/clang-with-lto-ubuntu/llvm-project/llvm/lib/Support/ARMAttributeParser.cpp:9:
/usr/include/c++/11/bits/stl_pair.h: In instantiation of ‘struct std::pair<const llvm::json::ObjectKey, llvm::json::Value>’:
/usr/include/c++/11/ext/aligned_buffer.h:91:28:   required from ‘struct __gnu_cxx::__aligned_buffer<std::pair<const llvm::json::ObjectKey, llvm::json::Value> >’
/usr/include/c++/11/bits/hashtable_policy.h:234:43:   required from ‘struct std::__detail::_Hash_node_value_base<std::pair<const llvm::json::ObjectKey, llvm::json::Value> >’
/usr/include/c++/11/bits/hashtable_policy.h:268:12:   required from ‘struct std::__detail::_Hash_node_value<std::pair<const llvm::json::ObjectKey, llvm::json::Value>, true>’
/usr/include/c++/11/bits/hashtable_policy.h:277:12:   required from ‘struct std::__detail::_Hash_node<std::pair<const llvm::json::ObjectKey, llvm::json::Value>, true>’
/usr/include/c++/11/bits/hashtable_policy.h:1812:13:   required from ‘struct std::__detail::_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const llvm::json::ObjectKey, llvm::json::Value>, true> > >’
/usr/include/c++/11/bits/hashtable_policy.h:811:13:   required from ‘struct std::__detail::_Insert_base<llvm::json::ObjectKey, std::pair<const llvm::json::ObjectKey, llvm::json::Value>, std::allocator<std::pair<const llvm::json::ObjectKey, llvm::json::Value> >, std::__detail::_Select1st, std::equal_to<llvm::json::ObjectKey>, llvm::json::Object::ObjectKeyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >’
/usr/include/c++/11/bits/hashtable_policy.h:1004:12:   required from ‘struct std::__detail::_Insert<llvm::json::ObjectKey, std::pair<const llvm::json::ObjectKey, llvm::json::Value>, std::allocator<std::pair<const llvm::json::ObjectKey, llvm::json::Value> >, std::__detail::_Select1st, std::equal_to<llvm::json::ObjectKey>, llvm::json::Object::ObjectKeyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true>, false>’
/usr/include/c++/11/bits/hashtable.h:180:11:   required from ‘class std::_Hashtable<llvm::json::ObjectKey, std::pair<const llvm::json::ObjectKey, llvm::json::Value>, std::allocator<std::pair<const llvm::json::ObjectKey, llvm::json::Value> >, std::__detail::_Select1st, std::equal_to<llvm::json::ObjectKey>, llvm::json::Object::ObjectKeyHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >’
/usr/include/c++/11/bits/unordered_map.h:105:18:   required from ‘class std::unordered_map<llvm::json::ObjectKey, llvm::json::Value, llvm::json::Object::ObjectKeyHash>’
/home/buildbot/as-worker-91/clang-with-lto-ubuntu/llvm-project/llvm/include/llvm/Support/JSON.h:106:11:   required from here
/usr/include/c++/11/bits/stl_pair.h:217:11: error: ‘std::pair<_T1, _T2>::first’ has incomplete type
  217 |       _T1 first;                 ///< The first member
      |           ^~~~~
In file included from /home/buildbot/as-worker-91/clang-with-lto-ubuntu/llvm-project/llvm/include/llvm/Support/ScopedPrinter.h:21,
                 from /home/buildbot/as-worker-91/clang-with-lto-ubuntu/llvm-project/llvm/lib/Support/ARMAttributeParser.cpp:13:
/home/buildbot/as-worker-91/clang-with-lto-ubuntu/llvm-project/llvm/include/llvm/Support/JSON.h:93:7: note: forward declaration of ‘class llvm::json::ObjectKey’
   93 | class ObjectKey;
      |       ^~~~~~~~~
In file included from /usr/include/c++/11/bits/stl_algobase.h:64,
                 from /usr/include/c++/11/bits/char_traits.h:39,
                 from /usr/include/c++/11/string:40,

```

</details>

https://github.com/llvm/llvm-project/pull/171230


More information about the llvm-commits mailing list