fixed chromium FTBFS on RHEL7, error: undefined symbol: unsigned long cc::PaintOpWriter::SerializedSize<unsigned long>
parent
a8ad64be1d
commit
d895b61728
@ -0,0 +1,65 @@
|
|||||||
|
diff -up chromium-116.0.5845.96/cc/paint/paint_op_writer.h.me chromium-116.0.5845.96/cc/paint/paint_op_writer.h
|
||||||
|
--- chromium-116.0.5845.96/cc/paint/paint_op_writer.h.me 2023-08-16 19:09:48.998173285 +0200
|
||||||
|
+++ chromium-116.0.5845.96/cc/paint/paint_op_writer.h 2023-08-16 21:13:44.442431527 +0200
|
||||||
|
@@ -104,7 +104,16 @@ class CC_PAINT_EXPORT PaintOpWriter {
|
||||||
|
|
||||||
|
private:
|
||||||
|
template <typename T>
|
||||||
|
- static constexpr size_t SerializedSizeSimple();
|
||||||
|
+ static constexpr size_t SerializedSizeSimple() {
|
||||||
|
+ static_assert(!std::is_pointer_v<T>);
|
||||||
|
+ return base::bits::AlignUp(sizeof(T), kDefaultAlignment);
|
||||||
|
+ }
|
||||||
|
+ // size_t is always serialized as uint64_t to make the serialized result
|
||||||
|
+ // portable between 32bit and 64bit processes.
|
||||||
|
+ template <>
|
||||||
|
+ constexpr size_t SerializedSizeSimple<size_t>() {
|
||||||
|
+ return base::bits::AlignUp(sizeof(uint64_t), kDefaultAlignment);
|
||||||
|
+ }
|
||||||
|
|
||||||
|
public:
|
||||||
|
// SerializedSize() returns the maximum serialized size of the given type or
|
||||||
|
@@ -115,7 +124,10 @@ class CC_PAINT_EXPORT PaintOpWriter {
|
||||||
|
// deserialization, and make it possible to allow dynamic sizing for some
|
||||||
|
// data types (see the specialized/overloaded functions).
|
||||||
|
template <typename T>
|
||||||
|
- static constexpr size_t SerializedSize();
|
||||||
|
+ static constexpr size_t SerializedSize() {
|
||||||
|
+ static_assert(std::is_arithmetic_v<T> || std::is_enum_v<T>);
|
||||||
|
+ return SerializedSizeSimple<T>();
|
||||||
|
+ }
|
||||||
|
template <typename T>
|
||||||
|
static constexpr size_t SerializedSize(const T& data);
|
||||||
|
static size_t SerializedSize(const PaintImage& image);
|
||||||
|
@@ -360,19 +372,6 @@ class CC_PAINT_EXPORT PaintOpWriter {
|
||||||
|
const bool enable_security_constraints_;
|
||||||
|
};
|
||||||
|
|
||||||
|
-template <typename T>
|
||||||
|
-constexpr size_t PaintOpWriter::SerializedSizeSimple() {
|
||||||
|
- static_assert(!std::is_pointer_v<T>);
|
||||||
|
- return base::bits::AlignUp(sizeof(T), kDefaultAlignment);
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
-// size_t is always serialized as two uint32_ts to make the serialized result
|
||||||
|
-// portable between 32bit and 64bit processes.
|
||||||
|
-template <>
|
||||||
|
-constexpr size_t PaintOpWriter::SerializedSizeSimple<size_t>() {
|
||||||
|
- return base::bits::AlignUp(2 * sizeof(uint32_t), kDefaultAlignment);
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
template <>
|
||||||
|
constexpr size_t PaintOpWriter::SerializedSize<SkGainmapInfo>() {
|
||||||
|
return SerializedSizeSimple<SkColor4f>() + // fGainmapRatioMin
|
||||||
|
@@ -386,11 +385,6 @@ constexpr size_t PaintOpWriter::Serializ
|
||||||
|
}
|
||||||
|
|
||||||
|
template <typename T>
|
||||||
|
-constexpr size_t PaintOpWriter::SerializedSize() {
|
||||||
|
- static_assert(std::is_arithmetic_v<T> || std::is_enum_v<T>);
|
||||||
|
- return SerializedSizeSimple<T>();
|
||||||
|
-}
|
||||||
|
-template <typename T>
|
||||||
|
constexpr size_t PaintOpWriter::SerializedSize(const T& data) {
|
||||||
|
return SerializedSizeSimple<T>();
|
||||||
|
}
|
Loading…
Reference in new issue