b2909fb1bf
It turns out only part of it was upstreamed. Add the rest back to fix the build with gcc 11 in rawhide.
73 lines
2.4 KiB
Diff
73 lines
2.4 KiB
Diff
diff --git a/gtk/gtktextchild.c b/gtk/gtktextchild.c
|
|
index 4d5e30e..915b991 100644
|
|
--- a/gtk/gtktextchild.c
|
|
+++ b/gtk/gtktextchild.c
|
|
@@ -169,6 +169,12 @@ const GtkTextLineSegmentClass gtk_text_paintable_type = {
|
|
GtkTextLineSegment *
|
|
_gtk_paintable_segment_new (GdkPaintable *paintable)
|
|
{
|
|
+ /* gcc-11 issues a diagnostic here because the size allocated
|
|
+ for SEG does not cover the entire size of a GtkTextLineSegment
|
|
+ and gcc has no way to know that the union will only be used
|
|
+ for limited types and the additional space is not needed. */
|
|
+#pragma GCC diagnostic push
|
|
+#pragma GCC diagnostic ignored "-Warray-bounds"
|
|
GtkTextLineSegment *seg;
|
|
guint flags;
|
|
|
|
@@ -204,6 +210,7 @@ _gtk_paintable_segment_new (GdkPaintable *paintable)
|
|
g_object_ref (paintable);
|
|
|
|
return seg;
|
|
+#pragma GCC diagnostic pop
|
|
}
|
|
|
|
|
|
@@ -280,6 +287,12 @@ const GtkTextLineSegmentClass gtk_text_child_type = {
|
|
GtkTextLineSegment *
|
|
_gtk_widget_segment_new (GtkTextChildAnchor *anchor)
|
|
{
|
|
+ /* gcc-11 issues a diagnostic here because the size allocated
|
|
+ for SEG does not cover the entire size of a GtkTextLineSegment
|
|
+ and gcc has no way to know that the union will only be used
|
|
+ for limited types and the additional space is not needed. */
|
|
+#pragma GCC diagnostic push
|
|
+#pragma GCC diagnostic ignored "-Warray-bounds"
|
|
GtkTextLineSegment *seg;
|
|
|
|
seg = g_slice_alloc (WIDGET_SEG_SIZE);
|
|
@@ -303,6 +316,7 @@ _gtk_widget_segment_new (GtkTextChildAnchor *anchor)
|
|
g_object_ref (anchor);
|
|
|
|
return seg;
|
|
+#pragma GCC diagnostic pop
|
|
}
|
|
|
|
void
|
|
diff --git a/gtk/gtktextsegment.c b/gtk/gtktextsegment.c
|
|
index a202ab6..aaac291 100644
|
|
--- a/gtk/gtktextsegment.c
|
|
+++ b/gtk/gtktextsegment.c
|
|
@@ -425,6 +425,13 @@ char_segment_check_func (GtkTextLineSegment *segPtr, GtkTextLine *line)
|
|
GtkTextLineSegment*
|
|
_gtk_toggle_segment_new (GtkTextTagInfo *info, gboolean on)
|
|
{
|
|
+ /* gcc-11 issues a diagnostic here because the size allocated
|
|
+ for SEG does not cover the entire size of a GtkTextLineSegment
|
|
+ and gcc has no way to know that the union will only be used
|
|
+ for limited types and the additional space is not needed. */
|
|
+#pragma GCC diagnostic push
|
|
+#pragma GCC diagnostic ignored "-Warray-bounds"
|
|
+
|
|
GtkTextLineSegment *seg;
|
|
|
|
seg = g_slice_alloc (TSEG_SIZE);
|
|
@@ -440,6 +447,7 @@ _gtk_toggle_segment_new (GtkTextTagInfo *info, gboolean on)
|
|
seg->body.toggle.inNodeCounts = 0;
|
|
|
|
return seg;
|
|
+#pragma GCC diagnostic pop
|
|
}
|
|
|
|
void
|