[clang] [clang-tools-extra] [lldb] [clang] Reland: fix getTemplateInstantiationArgs (PR #208285)

Nathan Corbyn via cfe-commits cfe-commits at lists.llvm.org
Fri Jul 10 05:49:04 PDT 2026


cofibrant wrote:

I've managed to reproduce the stage 2 build failure locally but not yet minimise it. Here are the steps:

1. Build `clang`
2. Configure bootstrapped reproducer with modules and MacOS X 15.2 SDK (as in builder)
```sh
cmake -G Ninja -S llvm -B build-repro \
    -DCMAKE_C_COMPILER=$PWD/build/bin/clang \
    -DCMAKE_CXX_COMPILER=$PWD/build/bin/clang++ \
    -DCMAKE_OSX_SYSROOT=/Library/Developer/CommandLineTools/SDKs/MacOSX15.2.sdk \
    -DCMAKE_BUILD_TYPE=RelWithDebInfo \
    -DLLVM_TARGETS_TO_BUILD=AArch64 \
    -DLLVM_ENABLE_MODULES=ON
```
3. Build `llvm-min-tblgen`:
```sh
ninja -C build-repro llvm-min-tblgen
```

This fails with:
```
FAILED: [code=1] bin/llvm-min-tblgen
: && /Users/nathan/src/external/llvm-project/build/bin/clang++ -fPIC -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -fmodules -fmodules-cache-path=/Users/nathan/src/external/llvm-project/build-repro/module.cache -fcxx-modules -Xclang -fmodules-local-submodule-visibility -gmodules -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -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 -fdiagnostics-color -O2 -g -DNDEBUG -arch arm64 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX15.2.sdk -Wl,-search_paths_first -Wl,-headerpad_max_install_names  -Wl,-dead_strip -Wl,-no_warn_duplicate_libraries utils/TableGen/Basic/CMakeFiles/obj.LLVMTableGenBasic.dir/ARMTargetDefEmitter.cpp.o utils/TableGen/Basic/CMakeFiles/obj.LLVMTableGenBasic.dir/Attributes.cpp.o utils/TableGen/Basic/CMakeFiles/obj.LLVMTableGenBasic.dir/CodeGenIntrinsics.cpp.o utils/TableGen/Basic/CMakeFiles/obj.LLVMTableGenBasic.dir/DirectiveEmitter.cpp.o utils/TableGen/Basic/CMakeFiles/obj.LLVMTableGenBasic.dir/IntrinsicEmitter.cpp.o utils/TableGen/Basic/CMakeFiles/obj.LLVMTableGenBasic.dir/RISCVTargetDefEmitter.cpp.o utils/TableGen/Basic/CMakeFiles/obj.LLVMTableGenBasic.dir/RuntimeLibcallsEmitter.cpp.o utils/TableGen/Basic/CMakeFiles/obj.LLVMTableGenBasic.dir/RuntimeLibcalls.cpp.o utils/TableGen/Basic/CMakeFiles/obj.LLVMTableGenBasic.dir/SDNodeProperties.cpp.o utils/TableGen/Basic/CMakeFiles/obj.LLVMTableGenBasic.dir/TableGen.cpp.o utils/TableGen/Basic/CMakeFiles/obj.LLVMTableGenBasic.dir/TargetFeaturesEmitter.cpp.o utils/TableGen/Basic/CMakeFiles/obj.LLVMTableGenBasic.dir/TargetLibraryInfoEmitter.cpp.o utils/TableGen/Basic/CMakeFiles/obj.LLVMTableGenBasic.dir/VTEmitter.cpp.o utils/TableGen/CMakeFiles/llvm-min-tblgen.dir/llvm-min-tblgen.cpp.o -o bin/llvm-min-tblgen  -Wl,-rpath, at loader_path/../lib  lib/libLLVMSupport.a  lib/libLLVMTableGen.a  -lm  /Library/Developer/CommandLineTools/SDKs/MacOSX15.2.sdk/usr/lib/libz.tbd  lib/libLLVMDemangle.a && :
Undefined symbols for architecture arm64:
  "std::__1::enable_if<is_move_constructible<std::__1::__shared_weak_count*>::value && is_move_assignable<std::__1::__shared_weak_count*>::value, void>::type std::__1::swap[abi:nn180100]<std::__1::__shared_weak_count*>(std::__1::__shared_weak_count*&, std::__1::__shared_weak_count*&)", referenced from:
      (anonymous namespace)::RealFileSystem::dir_begin(llvm::Twine const&, std::__1::error_code&) in libLLVMSupport.a[143](VirtualFileSystem.cpp.o)
      (anonymous namespace)::RealFileSystem::dir_begin(llvm::Twine const&, std::__1::error_code&) in libLLVMSupport.a[143](VirtualFileSystem.cpp.o)
      llvm::sys::fs::directory_iterator::directory_iterator(llvm::Twine const&, std::__1::error_code&, bool) in libLLVMSupport.a[168](Path.cpp.o)
ld: symbol(s) not found for architecture arm64
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
ninja: build stopped: subcommand failed.
```
after this commit, but succeeds otherwise.

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


More information about the cfe-commits mailing list