[clang] [clang][bytecode] Fix crash on __builtin_infer_alloc_token with struct argument (PR #178936)
via cfe-commits
cfe-commits at lists.llvm.org
Fri Jan 30 10:39:47 PST 2026
github-actions[bot] wrote:
<!--PREMERGE ADVISOR COMMENT: Linux-->
# :penguin: Linux x64 Test Results
The build failed before running any tests. Click on a failure below to see the details.
<details>
<summary>tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/ByteCode/InterpBuiltin.cpp.o</summary>
```
FAILED: tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/ByteCode/InterpBuiltin.cpp.o
sccache /opt/llvm/bin/clang++ -DCLANG_EXPORTS -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GLIBCXX_USE_CXX11_ABI=1 -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/lib/AST -I/home/gha/actions-runner/_work/llvm-project/llvm-project/clang/lib/AST -I/home/gha/actions-runner/_work/llvm-project/llvm-project/clang/include -I/home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/include -I/home/gha/actions-runner/_work/llvm-project/llvm-project/build/include -I/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include -gmlt -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror -Werror=date-time -Werror=unguarded-availability-new -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 -ffunction-sections -fdata-sections -fno-common -Woverloaded-virtual -Wno-nested-anon-types -O3 -DNDEBUG -std=c++17 -UNDEBUG -fno-exceptions -funwind-tables -fno-rtti -MD -MT tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/ByteCode/InterpBuiltin.cpp.o -MF tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/ByteCode/InterpBuiltin.cpp.o.d -o tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/ByteCode/InterpBuiltin.cpp.o -c /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/lib/AST/ByteCode/InterpBuiltin.cpp
/home/gha/actions-runner/_work/llvm-project/llvm-project/clang/lib/AST/ByteCode/InterpBuiltin.cpp:1402:33: error: no viable conversion from 'OptPrimType' to 'std::optional<PrimType>'
1402 | if (std::optional<PrimType> T = S.getContext().classify(Call->getArg(I)))
| ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/optional:707:11: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'OptPrimType' to 'const optional<clang::interp::PrimType> &' for 1st argument
707 | class optional
| ^~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/optional:707:11: note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'OptPrimType' to 'optional<clang::interp::PrimType> &&' for 1st argument
707 | class optional
| ^~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/optional:741:17: note: candidate constructor not viable: no known conversion from 'OptPrimType' to 'nullopt_t' for 1st argument
741 | constexpr optional(nullopt_t) noexcept { }
| ^ ~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/optional:749:2: note: candidate template ignored: requirement '__and_v<std::__not_<std::is_same<std::optional<clang::interp::PrimType>, clang::interp::OptPrimType>>, std::__not_<std::is_same<std::in_place_t, clang::interp::OptPrimType>>, std::is_constructible<clang::interp::PrimType, clang::interp::OptPrimType>, std::is_convertible<clang::interp::OptPrimType, clang::interp::PrimType>>' was not satisfied [with _Up = OptPrimType]
749 | optional(_Up&& __t)
| ^
/usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/optional:768:2: note: candidate template ignored: could not match 'optional<_Up>' against 'OptPrimType'
768 | optional(const optional<_Up>& __t)
| ^
/usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/optional:794:2: note: candidate template ignored: could not match 'optional<_Up>' against 'OptPrimType'
794 | optional(optional<_Up>&& __t)
| ^
/usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/optional:758:2: note: explicit constructor is not a candidate
758 | optional(_Up&& __t)
| ^
/usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/optional:781:2: note: explicit constructor is not a candidate
781 | optional(const optional<_Up>& __t)
| ^
/usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/optional:807:2: note: explicit constructor is not a candidate
807 | optional(optional<_Up>&& __t)
| ^
/usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/optional:817:2: note: explicit constructor is not a candidate
817 | optional(in_place_t, _Args&&... __args)
| ^
1 error 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/178936
More information about the cfe-commits
mailing list