Clang 19 has become more strict about errors in member functions, which
results in errors building math/givaro:
./givaro/givaro/givaro/random-integer.h:94:51: error: no viable overloaded '='
94 | const_cast<Integer_Domain&>(_ring)=R._ring;
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
./givaro/givaro/givaro/random-integer.h:94:51: note: type 'Integer_Domain' (aka 'ZRing<Integer>') is incomplete
94 | const_cast<Integer_Domain&>(_ring)=R._ring;
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
In file included from givintprime.C:19:
In file included from ./givaro/givintprime.h:24:
In file included from ./givaro/givaro/givinteger.h:25:
../../../src/kernel/ring/givaro/zring.h:123:13: warning: misleading indentation; statement is not part of the previous 'while' [-Wmisleading-indentation]
123 | return a; }
| ^
../../../src/kernel/ring/givaro/zring.h:121:11: note: previous statement is here
121 | { while (isZero(init(a, g())))
| ^
The `const_cast` line has been removed by upstream as part of
https://github.com/linbox-team/givaro/commit/b0cf33e1, but that commit
is rather large. It is enough to only delete the line.
Also fix a failure that occurs when running "make test":
../src/kernel/recint/rfiddling.h:170:29: error: no member named 'Low' in 'rint<K>'
This is because the expression `max.Low.Value` should actually be
`max.Value.Low`.
PR: 282830
Approved by: pi (maintainer)
MFH: 2024Q4
12 lines
335 B
C++
12 lines
335 B
C++
--- src/kernel/recint/rfiddling.h.orig 2021-12-14 10:00:03 UTC
|
|
+++ src/kernel/recint/rfiddling.h
|
|
@@ -167,7 +167,7 @@ namespace RecInt
|
|
template <size_t K>
|
|
inline rint<K> rint<K>::maxFFLAS() {
|
|
rint<K> max;
|
|
- set_highest_bit(max.Low.Value);
|
|
+ set_highest_bit(max.Value.Low);
|
|
return max;
|
|
}
|
|
|