From: Colin Walters Date: Fri, 15 Dec 2017 14:20:58 +0000 (-0500) Subject: build-sys: Use -fno-strict-aliasing by default X-Git-Tag: archive/raspbian/2022.1-3+rpi1~1^2~4^2~28^2~2 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=8c42e81f123a696d9f1c02764e53a38b75260f25;p=ostree.git build-sys: Use -fno-strict-aliasing by default See discussion in https://bugzilla.gnome.org/show_bug.cgi?id=791622 This is what e.g. systemd, the Linux kernel, and lots of other projects do. It's astonishingly hard to reliably get right; the optimization IMO only really matters for truly high performance inner loops, but if you're doing that kind of stuff today you're probably doing it on a GPU anyways. Closes: #1384 Approved by: pwithnall --- diff --git a/Makefile.am b/Makefile.am index 6043b2aa..ea1863d3 100644 --- a/Makefile.am +++ b/Makefile.am @@ -31,7 +31,8 @@ AM_CPPFLAGS += -DDATADIR='"$(datadir)"' -DLIBEXECDIR='"$(libexecdir)"' \ -DOSTREE_GITREV='"$(OSTREE_GITREV)"' \ -DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_40 '-DGLIB_VERSION_MAX_ALLOWED=G_ENCODE_VERSION(2,50)' \ -DSOUP_VERSION_MIN_REQUIRED=SOUP_VERSION_2_40 '-DSOUP_VERSION_MAX_ALLOWED=G_ENCODE_VERSION(2,48)' -AM_CFLAGS += -std=gnu99 $(WARN_CFLAGS) +# For strict aliasing, see https://bugzilla.gnome.org/show_bug.cgi?id=791622 +AM_CFLAGS += -std=gnu99 -fno-strict-aliasing $(WARN_CFLAGS) AM_DISTCHECK_CONFIGURE_FLAGS += \ --enable-gtk-doc \ --enable-man \ diff --git a/configure.ac b/configure.ac index e2c27822..36071c93 100644 --- a/configure.ac +++ b/configure.ac @@ -48,6 +48,7 @@ CC_CHECK_FLAGS_APPEND([WARN_CFLAGS], [CFLAGS], [\ -Werror=incompatible-pointer-types \ -Werror=misleading-indentation \ -Werror=missing-include-dirs -Werror=aggregate-return \ + -Wstrict-aliasing=2 \ -Werror=unused-result \ ])]) AC_SUBST(WARN_CFLAGS)