You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
chromium/chromium-122-el7-inline-fun...

63 lines
2.4 KiB

ld.lld: error: undefined symbol: unsigned long cc::PaintOpWriter::SerializedSize<unsigned long>()
diff -up chromium-122.0.6261.69/cc/paint/paint_op_writer.h.me chromium-122.0.6261.69/cc/paint/paint_op_writer.h
--- chromium-122.0.6261.69/cc/paint/paint_op_writer.h.me 2024-02-25 12:04:07.008177603 +0100
+++ chromium-122.0.6261.69/cc/paint/paint_op_writer.h 2024-02-25 12:14:45.972117522 +0100
@@ -112,7 +112,17 @@ 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 two uint32_ts to make the serialized result
+ // portable between 32bit and 64bit processes.
+ template <>
+ constexpr size_t SerializedSizeSimple<size_t>() {
+ return base::bits::AlignUp(2 * sizeof(uint32_t), kDefaultAlignment);
+ }
public:
// SerializedSize() returns the maximum serialized size of the given type or
@@ -123,7 +133,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);
@@ -439,24 +452,6 @@ class CC_PAINT_EXPORT PaintOpWriter {
};
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 <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>();
}