1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
diff --git a/gfx/thebes/gfxTypes.h b/gfx/thebes/gfxTypes.h
--- a/gfx/thebes/gfxTypes.h
+++ b/gfx/thebes/gfxTypes.h
@@ -10,7 +10,7 @@
#include "mozilla/TypedEnumBits.h"
namespace mozilla {
-enum class StyleGenericFontFamily : uint8_t;
+enum class StyleGenericFontFamily : uint32_t;
}
typedef struct _cairo_surface cairo_surface_t;
diff --git a/servo/components/style/values/computed/font.rs b/servo/components/style/values/computed/font.rs
--- a/servo/components/style/values/computed/font.rs
+++ b/servo/components/style/values/computed/font.rs
@@ -382,6 +382,10 @@
/// The order here is important, if you change it make sure that
/// `gfxPlatformFontList.h`s ranged array and `gfxFontFamilyList`'s
/// sSingleGenerics are updated as well.
+///
+/// NOTE(emilio): Should be u8, but it's a u32 because of ABI issues between GCC
+/// and LLVM see https://bugs.llvm.org/show_bug.cgi?id=44228 / bug 1600735 /
+/// bug 1726515.
#[derive(
Clone,
Copy,
@@ -397,7 +401,7 @@
ToShmem,
)]
#[cfg_attr(feature = "servo", derive(Deserialize, Serialize))]
-#[repr(u8)]
+#[repr(u32)]
#[allow(missing_docs)]
pub enum GenericFontFamily {
/// No generic family specified, only for internal usage.
|