llvm/clang-13 compatibility. [Linux.]

Discussion of bugs in Seamonkey
Post Reply
alonzoTG
New Member
Posts: 1
Joined: December 20th, 2021, 9:25 am

llvm/clang-13 compatibility. [Linux.]

Post by alonzoTG »

My distro is pretty bleeding edge and exposes some issues with seamonkey which I've been using as my only mail reader since the beginning of recorded history....

0:33.43 /usr/bin/x86_64-pc-linux-gnu-g++ -o nsMsgSearchDBView.o -c -I/var/tmp/portage/www-client/seamonkey-2.53.9.1-r1/work/seamonkey-2.53.9.1/seamonk/dist/stl_wrappers -I/var/tmp/portage/www-client/seamonkey-2.53.9.1-r1/work/seamonkey-2.53.9.1/seamonk/dist/system_wrappers -include /var/tmp/portage/www-client/seamonkey-2.53.9.1-r1/work/seamonkey-2.53.9.1/config/gcc_hidden.h -DNDEBUG=1 -DTRIMMED=1 -DSTATIC_EXPORTABLE_JS_API -DMOZ_HAS_MOZGLUE -DMOZILLA_INTERNAL_API -DIMPL_LIBXUL -I/var/tmp/portage/www-client/seamonkey-2.53.9.1-r1/work/seamonkey-2.53.9.1/comm/mailnews/base/src -I/var/tmp/portage/www-client/seamonkey-2.53.9.1-r1/work/seamonkey-2.53.9.1/seamonk/comm/mailnews/base/src -I/var/tmp/portage/www-client/seamonkey-2.53.9.1-r1/work/seamonkey-2.53.9.1/seamonk/dist/include -I/usr/include/nspr -I/usr/include/nss -I/var/tmp/portage/www-client/seamonkey-2.53.9.1-r1/work/seamonkey-2.53.9.1/seamonk/dist/include/nss -fPIC -DMOZILLA_CLIENT -include /var/tmp/portage/www-client/seamonkey-2.53.9.1-r1/work/seamonkey-2.53.9.1/seamonk/mozilla-config.h -Wall -Wempty-body -Wignored-qualifiers -Woverloaded-virtual -Wpointer-arith -Wsign-compare -Wtype-limits -Wunreachable-code -Wwrite-strings -Wno-invalid-offsetof -Wc++1z-compat -Wduplicated-cond -Wimplicit-fallthrough -Wno-error=maybe-uninitialized -Wno-error=deprecated-declarations -Wno-error=array-bounds -Wno-error=free-nonheap-object -Wformat -Wformat-security -Wformat-overflow=2 -march=native -pipe -flifetime-dse=1 -mno-avx -fno-exceptions -fno-strict-aliasing -fno-rtti -ffunction-sections -fdata-sections -fno-exceptions -fno-math-errno -pthread -pipe -freorder-blocks -O2 -fomit-frame-pointer -MD -MP -MF .deps/nsMsgSearchDBView.o.pp -fdiagnostics-color /var/tmp/portage/www-client/seamonkey-2.53.9.1-r1/work/seamonkey-2.53.9.1/comm/mailnews/base/src/nsMsgSearchDBView.cpp
0:33.43 error: `[u32; 2]` is forbidden as the type of a const generic parameter
0:33.43 --> /var/tmp/portage/www-client/seamonkey-2.53.9.1-r1/work/seamonkey-2.53.9.1/third_party/rust/packed_simd/src/codegen/llvm.rs:20:44
0:33.43 |
0:33.43 20 | pub unsafe fn __shuffle_vector2<const IDX: [u32; 2], T, U>(x: T, y: T) -> U
0:33.43 | ^^^^^^^^
0:33.43 |
0:33.43 = note: the only supported types are integers, `bool` and `char`
0:33.43 = help: more complex types are supported with `#![feature(adt_const_params)]`
0:33.43 error: `[u32; 4]` is forbidden as the type of a const generic parameter
0:33.43 --> /var/tmp/portage/www-client/seamonkey-2.53.9.1-r1/work/seamonkey-2.53.9.1/third_party/rust/packed_simd/src/codegen/llvm.rs:30:44
0:33.43 |
0:33.43 30 | pub unsafe fn __shuffle_vector4<const IDX: [u32; 4], T, U>(x: T, y: T) -> U
0:33.43 | ^^^^^^^^
0:33.43 |
0:33.44 = note: the only supported types are integers, `bool` and `char`
0:33.44 = help: more complex types are supported with `#![feature(adt_const_params)]`
0:33.44 In file included from /var/tmp/portage/www-client/seamonkey-2.53.9.1-r1/work/seamonkey-2.53.9.1/js/src/jit/BitSet.h:12,
0:33.44 from /var/tmp/portage/www-client/seamonkey-2.53.9.1-r1/work/seamonkey-2.53.9.1/js/src/jit/Safepoints.h:10,
0:33.44 from /var/tmp/portage/www-client/seamonkey-2.53.9.1-r1/work/seamonkey-2.53.9.1/js/src/jit/JitFrames.h:16,
0:33.44 from /var/tmp/portage/www-client/seamonkey-2.53.9.1-r1/work/seamonkey-2.53.9.1/js/src/jscntxtinlines.h:16,
0:33.44 from /var/tmp/portage/www-client/seamonkey-2.53.9.1-r1/work/seamonkey-2.53.9.1/js/src/jscompartmentinlines.h:16,
0:33.44 from /var/tmp/portage/www-client/seamonkey-2.53.9.1-r1/work/seamonkey-2.53.9.1/js/src/jsobjinlines.h:29,
0:33.44 from /var/tmp/portage/www-client/seamonkey-2.53.9.1-r1/work/seamonkey-2.53.9.1/js/src/vm/Interpreter-inl.h:20,
0:33.44 from /var/tmp/portage/www-client/seamonkey-2.53.9.1-r1/work/seamonkey-2.53.9.1/js/src/vm/Interpreter.cpp:11:
0:33.44 /var/tmp/portage/www-client/seamonkey-2.53.9.1-r1/work/seamonkey-2.53.9.1/js/src/jit/JitAllocPolicy.h: In instantiation of 'T* js::jit::JitAllocPolicy::maybe_pod_calloc(size_t) [with T = js::detail::HashTableEntry<js::HashMapEntry<JS::Value, unsigned int> >; size_t = long unsigned int]':
0:33.44 /var/tmp/portage/www-client/seamonkey-2.53.9.1-r1/work/seamonkey-2.53.9.1/seamonk/dist/include/js/HashTable.h:1264:54: required from 'static js::detail::HashTable<T, HashPolicy, AllocPolicy>::Entry* js::detail::HashTable<T, HashPolicy, AllocPolicy>::createTable(AllocPolicy&, uint32_t, js::detail::HashTable<T, HashPolicy, AllocPolicy>::FailureBehavior) [with T = js::HashMapEntry<JS::Value, unsigned int>; HashPolicy = js::HashMap<JS::Value, unsigned int, js::jit::LIRGraph::ValueHasher, js::jit::JitAllocPolicy>::MapHashPolicy; AllocPolicy = js::jit::JitAllocPolicy; js::detail::HashTable<T, HashPolicy, AllocPolicy>::Entry = js::detail::HashTableEntry<js::HashMapEntry<JS::Value, unsigned int> >; uint32_t = unsigned int]'
0:33.44 /var/tmp/portage/www-client/seamonkey-2.53.9.1-r1/work/seamonkey-2.53.9.1/seamonk/dist/include/js/HashTable.h:1332:28: required from 'bool js::detail::HashTable<T, HashPolicy, AllocPolicy>::init(uint32_t) [with T = js::HashMapEntry<JS::Value, unsigned int>; HashPolicy = js::HashMap<JS::Value, unsigned int, js::jit::LIRGraph::ValueHasher, js::jit::JitAllocPolicy>::MapHashPolicy; AllocPolicy = js::jit::JitAllocPolicy; uint32_t = unsigned int]'
0:33.44 /var/tmp/portage/www-client/seamonkey-2.53.9.1-r1/work/seamonkey-2.53.9.1/seamonk/dist/include/js/HashTable.h:92:65: required from 'bool js::HashMap<Key, Value, HashPolicy, AllocPolicy>::init(uint32_t) [with Key = JS::Value; Value = unsigned int; HashPolicy = js::jit::LIRGraph::ValueHasher; AllocPolicy = js::jit::JitAllocPolicy; uint32_t = unsigned int]'
0:33.44 /var/tmp/portage/www-client/seamonkey-2.53.9.1-r1/work/seamonkey-2.53.9.1/js/src/jit/LIR.h:1835:37: required from here
0:33.44 /var/tmp/portage/www-client/seamonkey-2.53.9.1-r1/work/seamonkey-2.53.9.1/js/src/jit/JitAllocPolicy.h:102:19: warning: 'void* memset(void*, int, size_t)' clearing an object of type 'class js::detail::HashTableEntry<js::HashMapEntry<JS::Value, unsigned int> >' with no trivial copy-assignment [-Wclass-memaccess]
0:33.44 102 | memset(p, 0, numElems * sizeof(T));
0:33.44 | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
0:33.44 In file included from /var/tmp/portage/www-client/seamonkey-2.53.9.1-r1/work/seamonkey-2.53.9.1/seamonk/dist/include/js/TracingAPI.h:12,
0:33.44 from /var/tmp/portage/www-client/seamonkey-2.53.9.1-r1/work/seamonkey-2.53.9.1/seamonk/dist/include/js/GCPolicyAPI.h:47,
0:33.44 from /var/tmp/portage/www-client/seamonkey-2.53.9.1-r1/work/seamonkey-2.53.9.1/seamonk/dist/include/js/GCVector.h:12,
0:33.44 from /var/tmp/portage/www-client/seamonkey-2.53.9.1-r1/work/seamonkey-2.53.9.1/js/src/jscntxt.h:15,
0:33.44 from /var/tmp/portage/www-client/seamonkey-2.53.9.1-r1/work/seamonkey-2.53.9.1/js/src/jsiter.h:16,
0:33.45 from /var/tmp/portage/www-client/seamonkey-2.53.9.1-r1/work/seamonkey-2.53.9.1/js/src/vm/Interpreter.h:14,
0:33.45 from /var/tmp/portage/www-client/seamonkey-2.53.9.1-r1/work/seamonkey-2.53.9.1/js/src/vm/Interpreter-inl.h:10,
0:33.45 from /var/tmp/portage/www-client/seamonkey-2.53.9.1-r1/work/seamonkey-2.53.9.1/js/src/vm/Interpreter.cpp:11:
0:33.45 /var/tmp/portage/www-client/seamonkey-2.53.9.1-r1/work/seamonkey-2.53.9.1/seamonk/dist/include/js/HashTable.h:794:7: note: 'class js::detail::HashTableEntry<js::HashMapEntry<JS::Value, unsigned int> >' declared here
0:33.45 794 | class HashTableEntry
0:33.45 | ^~~~~~~~~~~~~~
0:33.45 error: `[u32; 8]` is forbidden as the type of a const generic parameter
0:33.45 --> /var/tmp/portage/www-client/seamonkey-2.53.9.1-r1/work/seamonkey-2.53.9.1/third_party/rust/packed_simd/src/codegen/llvm.rs:40:44
0:33.45 |
0:33.45 40 | pub unsafe fn __shuffle_vector8<const IDX: [u32; 8], T, U>(x: T, y: T) -> U
0:33.45 | ^^^^^^^^
0:33.45 |
0:33.45 = note: the only supported types are integers, `bool` and `char`
0:33.45 = help: more complex types are supported with `#![feature(adt_const_params)]`
0:33.45 error: `[u32; 16]` is forbidden as the type of a const generic parameter
0:33.45 --> /var/tmp/portage/www-client/seamonkey-2.53.9.1-r1/work/seamonkey-2.53.9.1/third_party/rust/packed_simd/src/codegen/llvm.rs:50:45
0:33.45 |
0:33.45 50 | pub unsafe fn __shuffle_vector16<const IDX: [u32; 16], T, U>(x: T, y: T) -> U
0:33.45 | ^^^^^^^^^
0:33.45 |
0:33.45 = note: the only supported types are integers, `bool` and `char`
0:33.45 = help: more complex types are supported with `#![feature(adt_const_params)]`
0:33.45 error: `[u32; 32]` is forbidden as the type of a const generic parameter
0:33.45 --> /var/tmp/portage/www-client/seamonkey-2.53.9.1-r1/work/seamonkey-2.53.9.1/third_party/rust/packed_simd/src/codegen/llvm.rs:60:45
0:33.45 |
0:33.45 60 | pub unsafe fn __shuffle_vector32<const IDX: [u32; 32], T, U>(x: T, y: T) -> U
0:33.45 | ^^^^^^^^^
0:33.45 |
0:33.45 = note: the only supported types are integers, `bool` and `char`
0:33.45 = help: more complex types are supported with `#![feature(adt_const_params)]`
0:33.45 error: `[u32; 64]` is forbidden as the type of a const generic parameter
0:33.45 --> /var/tmp/portage/www-client/seamonkey-2.53.9.1-r1/work/seamonkey-2.53.9.1/third_party/rust/packed_simd/src/codegen/llvm.rs:70:45
0:33.45 |
0:33.45 70 | pub unsafe fn __shuffle_vector64<const IDX: [u32; 64], T, U>(x: T, y: T) -> U
0:33.45 | ^^^^^^^^^
0:33.45 |
0:33.45 = note: the only supported types are integers, `bool` and `char`
0:33.45 = help: more complex types are supported with `#![feature(adt_const_params)]`
0:33.45 In file included from /var/tmp/portage/www-client/seamonkey-2.53.9.1-r1/work/seamonkey-2.53.

tortoise ~ # clang --version
clang version 13.0.0
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/lib/llvm/13/bin
tortoise ~ #

tortoise ~ # rustc --version
rustc 1.57.0 (f1edd0429 2021-11-29)
tortoise ~ #
Last edited by LIMPET235 on December 20th, 2021, 10:01 am, edited 1 time in total.
Reason: Added [Linux.] to the title.
frg
Posts: 1361
Joined: December 15th, 2015, 1:20 pm

Re: llvm/clang-13 compatibility. [Linux.]

Post by frg »

Download either the 2.53.10.1 tarball or check out the 2.53.10.2 branches from gitlab (updated today). 2.53.10.2 has a fix for a Windows link problem with rust 1.57 but 2.53.10.1 already works with when doing Linux or macOS builds.
Post Reply