diff options
author | Colin Walters <walters@verbum.org> | 2017-12-15 09:20:58 -0500 |
---|---|---|
committer | Atomic Bot <atomic-devel@projectatomic.io> | 2017-12-15 14:52:38 +0000 |
commit | 8c42e81f123a696d9f1c02764e53a38b75260f25 (patch) | |
tree | 2a420d8dfc71cefc9617fbd793cbd80d83befd7c | |
parent | b822f337b541e3cc8be3454f0e423e0874209b82 (diff) | |
download | ostree-8c42e81f123a696d9f1c02764e53a38b75260f25.tar.gz |
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
-rw-r--r-- | Makefile.am | 3 | ||||
-rw-r--r-- | configure.ac | 1 |
2 files changed, 3 insertions, 1 deletions
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) |