[Bug 292112] devel/llvm16: fix build with clang 21

From: <bugzilla-noreply_at_freebsd.org>
Date: Thu, 01 Jan 2026 20:52:18 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=292112

            Bug ID: 292112
           Summary: devel/llvm16: fix build with clang 21
           Product: Ports & Packages
           Version: Latest
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Some People
          Priority: ---
         Component: Individual Port(s)
          Assignee: brooks@FreeBSD.org
          Reporter: dim@FreeBSD.org
          Assignee: brooks@FreeBSD.org
             Flags: maintainer-feedback?(brooks@FreeBSD.org)

Recent versions of clang complain about explicit copy constructors,
leading to errors similar to:

   
/wrkdirs/usr/ports/devel/llvm16/work-default/llvm-project-16.0.6.src/llvm/tools/sancov/sancov.cpp:521:42:
error: chosen constructor is explicit in copy-initialization
      521 |     return SpecialCaseList::createOrDie({{ClIgnorelist}},
          |                                          ^~~~~~~~~~~~~~
    /usr/include/c++/v1/string:1153:64: note: explicit constructor declared
here
     1153 |   _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 explicit
basic_string(const _Tp& __t) {
          |                                                                ^
    /usr/include/c++/v1/__vector/vector.h:276:91: note: passing argument to
parameter '__il' here
      276 |   _LIBCPP_CONSTEXPR_SINCE_CXX20 _LIBCPP_HIDE_FROM_ABI
vector(initializer_list<value_type> __il) {
          |                                                                    
                      ^

In this case, `ClIgnorelist` is an instance of `cl::opt`, not a
`std::string` as expected. Use `getValue()` to get the actual
`std::string` value.

-- 
You are receiving this mail because:
You are the assignee for the bug.