From b4e110920aa18e6cc149ccbbfcd90b5143526e6d Mon Sep 17 00:00:00 2001
From: Matthias Clasen <mclasen@redhat.com>
Date: Mon, 11 Jan 2021 22:04:52 +0000
Subject: [PATCH] Merge branch 'wip/kalev/gcc-11' into 'master'

Avoid diagnostics for gcc-11 false positive out of bounds accesses

See merge request GNOME/gtk!3064

(cherry picked from commit 5044031b53988627c2937c6b5f8919a37e18f21f)

c514c41d Avoid diagnostics for gcc-11 false positive out of bounds accesses
---
 gtk/gtktextchild.c   | 14 ++++++++++++++
 gtk/gtktextsegment.c |  7 +++++++
 2 files changed, 21 insertions(+)

diff --git a/gtk/gtktextchild.c b/gtk/gtktextchild.c
index 2ff7de2394..cbbcf91d66 100644
--- a/gtk/gtktextchild.c
+++ b/gtk/gtktextchild.c
@@ -129,6 +129,12 @@ const GtkTextLineSegmentClass gtk_text_pixbuf_type = {
 GtkTextLineSegment *
 _gtk_pixbuf_segment_new (GdkPixbuf *pixbuf)
 {
+  /* 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 (PIXBUF_SEG_SIZE);
@@ -148,6 +154,7 @@ _gtk_pixbuf_segment_new (GdkPixbuf *pixbuf)
   g_object_ref (pixbuf);
 
   return seg;
+#pragma GCC diagnostic pop
 }
 
 
@@ -224,6 +231,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);
@@ -247,6 +260,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 8539db5297..8e00b1ddc9 100644
--- a/gtk/gtktextsegment.c
+++ b/gtk/gtktextsegment.c
@@ -426,6 +426,12 @@ 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);
@@ -441,6 +447,7 @@ _gtk_toggle_segment_new (GtkTextTagInfo *info, gboolean on)
   seg->body.toggle.inNodeCounts = 0;
 
   return seg;
+#pragma GCC diagnostic pop
 }
 
 void
-- 
2.31.1

