https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102797
--- Comment #1 from David Binderman <dcb314 at hotmail dot com> --- Reduced C code is glib_autoptr_cleanup_GdkPaintable(struct _GdkPaintable **_ptr) { glib_autoptr_clear_GdkPaintable(*_ptr); } glib_autoptr_clear_GdkRGBA(struct _GdkRGBA *_ptr) { if (_ptr) gdk_rgba_free(); } glib_autoptr_cleanup_GdkRGBA(struct _GdkRGBA **_ptr) { glib_autoptr_clear_GdkRGBA(*_ptr); } gtd_sidebar_list_row_set_property() { __attribute__((cleanup(glib_autoptr_cleanup_GdkPaintable))) *paintable = 0; __attribute__((cleanup(glib_autoptr_cleanup_GdkRGBA))) *color = 0; color = gtd_task_list_get_color(); paintable = gtd_create_circular_paintable(); gtk_image_set_from_paintable(); } Flag -march=bdver2 not required for the reduced code, only -O2 -fexceptions.