mirror of
https://github.com/klzgrad/naiveproxy.git
synced 2024-11-22 05:16:12 +03:00
quiche: Work around Clang miscompile on mipsel
This commit is contained in:
parent
ee343b9f01
commit
063d04ae8a
@ -23,6 +23,10 @@
|
|||||||
|
|
||||||
namespace http2 {
|
namespace http2 {
|
||||||
|
|
||||||
|
#if defined(__MIPSEL__) && !defined(__LP64__)
|
||||||
|
// Clang 18+ miscompiles "uint64_t x; size_t y; x <<= y;" on mipsel.
|
||||||
|
typedef uint32_t HuffmanAccumulator;
|
||||||
|
#else
|
||||||
// HuffmanAccumulator is used to store bits during decoding, e.g. next N bits
|
// HuffmanAccumulator is used to store bits during decoding, e.g. next N bits
|
||||||
// that have not yet been decoded, but have been extracted from the encoded
|
// that have not yet been decoded, but have been extracted from the encoded
|
||||||
// string). An advantage of using a uint64 for the accumulator
|
// string). An advantage of using a uint64 for the accumulator
|
||||||
@ -34,6 +38,7 @@ namespace http2 {
|
|||||||
// reach 30), and then keep track of the last two bits we've not been able to
|
// reach 30), and then keep track of the last two bits we've not been able to
|
||||||
// add to the accumulator.
|
// add to the accumulator.
|
||||||
typedef uint64_t HuffmanAccumulator;
|
typedef uint64_t HuffmanAccumulator;
|
||||||
|
#endif
|
||||||
typedef size_t HuffmanAccumulatorBitCount;
|
typedef size_t HuffmanAccumulatorBitCount;
|
||||||
|
|
||||||
// HuffmanBitBuffer stores the leading edge of bits to be decoded. The high
|
// HuffmanBitBuffer stores the leading edge of bits to be decoded. The high
|
||||||
|
Loading…
Reference in New Issue
Block a user