From 2f130f199a5510f6aa7ac6199e34885242411039 Mon Sep 17 00:00:00 2001 From: Akim Demaille Date: Mon, 26 Nov 2012 10:42:49 +0100 Subject: [PATCH] tests: use -fno-strict-aliasing with variants MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Reported by Théophile Ranquet. * configure.ac (NO_STRICT_ALIAS_CXXFLAGS): New. * tests/c++.at, tests/atlocal.in, examples/local.mk: Use it. --- configure.ac | 2 ++ examples/local.mk | 4 ++++ tests/atlocal.in | 3 +++ tests/c++.at | 2 +- 4 files changed, 10 insertions(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index aec681ad..a4eb373e 100644 --- a/configure.ac +++ b/configure.ac @@ -111,6 +111,8 @@ if test "$enable_gcc_warnings" = yes; then # Warnings for the test suite only. gl_WARN_ADD([-Wundef], [WARN_CXXFLAGS_TEST]) gl_WARN_ADD([-pedantic], [WARN_CXXFLAGS_TEST]) + # Variants break strict aliasing analysis. + gl_WARN_ADD([-fno-strict-aliasing], [NO_STRICT_ALIAS_CXXFLAGS]) CXXFLAGS=$save_CXXFLAGS AC_LANG_POP([C++]) fi diff --git a/examples/local.mk b/examples/local.mk index 94a31674..3a6fcf0d 100644 --- a/examples/local.mk +++ b/examples/local.mk @@ -16,6 +16,10 @@ dist_noinst_SCRIPTS = examples/extexi examples/test TEST_LOG_COMPILER = $(top_srcdir)/examples/test +AM_CXXFLAGS = \ + $(NO_STRICT_ALIAS_CXXFLAGS) \ + $(WARN_CXXFLAGS) $(WARN_CXXFLAGS_TEST) $(WERROR_CXXFLAGS) + ## ------------ ## ## Extracting. ## ## ------------ ## diff --git a/tests/atlocal.in b/tests/atlocal.in index 649e0743..a545e5e2 100644 --- a/tests/atlocal.in +++ b/tests/atlocal.in @@ -38,6 +38,9 @@ NO_WERROR_CXXFLAGS='@CXXFLAGS@ @WARN_CXXFLAGS@ @WARN_CXXFLAGS_TEST@' CFLAGS="$NO_WERROR_CFLAGS @WERROR_CFLAGS@" CXXFLAGS="$NO_WERROR_CXXFLAGS @WERROR_CXXFLAGS@" +# C++ variants break strict aliasing analysis. +NO_STRICT_ALIAS_CXXFLAGS='@NO_STRICT_ALIAS_CXXFLAGS@' + # If 'exit 77'; skip all C++ tests; otherwise ':'. BISON_CXX_WORKS='@BISON_CXX_WORKS@' diff --git a/tests/c++.at b/tests/c++.at index f5e5f463..08040d6e 100644 --- a/tests/c++.at +++ b/tests/c++.at @@ -176,7 +176,7 @@ main () ]]) AT_BISON_CHECK([-o list.cc list.yy]) -AT_COMPILE_CXX([list]) +AT_COMPILE_CXX([list], [$NO_STRICT_ALIAS_CXXFLAGS list.cc]) AT_PARSER_CHECK([./list], 0, [(0, 1, 2, 4) ]) -- 2.47.2