[Bug 290809] graphics/mesa-dri does not build with llvm20

[email protected]
Newsgroups gmane.os.freebsd.devel.x11
Message-ID <[email protected]/bugzilla/>
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290809

--- Comment #10 from Mikhail Teterin <[email protected]> ---
(In reply to Dimitry Andric from comment #9)
> For now, I will just commit my single patch, since that is the least intrusive.

Build of mesa-dri 24.1.7 still fails for me here, on 15-stable with llvm21:

T_TIMESPEC -DHAVE_POSIX_MEMALIGN -DHAVE_DIRENT_D_TYPE -DHAVE_STRTOD_L
-DHAVE_DLADDR -DHAVE_DL_ITERATE_PHDR -DHAVE_ZLIB -DHAVE_ZSTD -DHAVE_COMPRESSION
-DHAVE_PTHREAD -DHAVE_LIBDRM -DHAVE_LIBUDEV
'-DMESA_LLVM_VERSION_STRING="21.1.8"' -DLLVM_IS_SHARED=1 -DLLVM_AVAILABLE=1
-DDRAW_LLVM_AVAILABLE=1 -DUSE_LIBELF -DTHREAD_SANITIZER=0 -DHAVE_DRI
-DHAVE_DRI2 -DHAVE_DRI3 -DHAVE_DRI3_MODIFIERS -DHAVE_DRI3_EXPLICIT_SYNC
-DHAVE_DRISW_KMS -Werror=return-type -Werror=empty-body
-Wmisleading-indentation -Wno-non-virtual-dtor -Wno-missing-field-initializers
-Wno-format-truncation -fno-math-errno -fno-trapping-math -Qunused-arguments
-Wno-unknown-pragmas -Wno-microsoft-enum-value -Werror=format -Wformat-security
-ffunction-sections -fdata-sections -Wno-unused-variable
-Wno-unused-but-set-variable -O2 -pipe -march=ivybridge
-fstack-protector-strong -fno-strict-aliasing -march=ivybridge -fPIC -pthread
-isystem/opt/llvm21/include -DEXPERIMENTAL_KEY_INSTRUCTIONS
-D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -MD -MQ
src/amd/llvm/libamd_common_llvm.a.p/ac_llvm_helper.cpp.o -MF
src/amd/llvm/libamd_common_llvm.a.p/ac_llvm_helper.cpp.o.d -o
src/amd/llvm/libamd_common_llvm.a.p/ac_llvm_helper.cpp.o -c
../src/amd/llvm/ac_llvm_helper.cpp
../src/amd/llvm/ac_llvm_helper.cpp:103:36: error: no viable conversion from
'const std::string' (aka 'const basic_string<char>') to 'Triple'
  103 |    unwrap(module)->setTargetTriple(TM->getTargetTriple().getTriple());
      |                                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/llvm21/include/llvm/TargetParser/Triple.h:47:7: note: candidate
constructor (the implicit copy constructor) not viable: no known conversion
from 'const std::string' (aka 'const basic_string<char>') to 'const Triple &'
for 1st argument
   47 | class Triple {
      |       ^~~~~~
/opt/llvm21/include/llvm/TargetParser/Triple.h:47:7: note: candidate
constructor (the implicit move constructor) not viable: no known conversion
from 'const std::string' (aka 'const basic_string<char>') to 'Triple &&' for
1st argument
   47 | class Triple {
      |       ^~~~~~
/opt/llvm21/include/llvm/TargetParser/Triple.h:354:21: note: explicit
constructor is not a candidate
  354 |   LLVM_ABI explicit Triple(std::string &&Str);
      |                     ^
/opt/llvm21/include/llvm/TargetParser/Triple.h:355:12: note: explicit
constructor is not a candidate
  355 |   explicit Triple(StringRef Str) : Triple(Str.str()) {}
      |            ^
/opt/llvm21/include/llvm/TargetParser/Triple.h:356:12: note: explicit
constructor is not a candidate
  356 |   explicit Triple(const char *Str) : Triple(std::string(Str)) {}
      |            ^
/opt/llvm21/include/llvm/TargetParser/Triple.h:357:12: note: explicit
constructor is not a candidate
  357 |   explicit Triple(const std::string &Str) : Triple(std::string(Str)) {}
      |            ^
/opt/llvm21/include/llvm/TargetParser/Triple.h:358:21: note: explicit
constructor is not a candidate
  358 |   LLVM_ABI explicit Triple(const Twine &Str);
      |                     ^
/usr/include/c++/v1/string:1215:55: note: candidate function
 1215 |   _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 operator
__self_view() const _NOEXCEPT {
      |                                                       ^
/opt/llvm21/include/llvm/IR/Module.h:324:31: note: passing argument to
parameter 'T' here
  324 |   void setTargetTriple(Triple T) { TargetTriple = std::move(T); }
      |                               ^
1 error generated.
ninja: build stopped: subcommand failed.

-- 
You are receiving this mail because:
You are the assignee for the bug.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.