Only build and tested by self tests if a g++ with C++x0 is available. Almost empty C++ program, can be extended to test more features.
Signed-off-by: Mark Wielaard <m...@redhat.com> --- ChangeLog | 4 ++ configure.ac | 5 ++ m4/ChangeLog | 4 ++ m4/ax_cxx_compile_stdcxx_0x.m4 | 107 ++++++++++++++++++++++++++++++++++++++++ tests/ChangeLog | 10 ++++ tests/Makefile.am | 6 ++ tests/cxx-various.cc | 65 ++++++++++++++++++++++++ tests/test-subr.sh | 12 +++++ tests/testfile-cxx-various.bz2 | Bin 0 -> 11377 bytes 9 files changed, 213 insertions(+), 0 deletions(-) create mode 100644 m4/ax_cxx_compile_stdcxx_0x.m4 create mode 100644 tests/cxx-various.cc create mode 100755 tests/testfile-cxx-various.bz2 diff --git a/ChangeLog b/ChangeLog index 5842492..3be157c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,9 @@ 2012-07-24 Mark Wielaard <m...@redhat.com> + * configure.ac: Add AX_CXX_COMPILE_STDCXX_0X check. + +2012-07-24 Mark Wielaard <m...@redhat.com> + * TODO: Add note on shdrs after elf_cntl (ELF_C_FDREAD). 2012-06-22 Mark Wielaard <m...@redhat.com> diff --git a/configure.ac b/configure.ac index 7932489..50db343 100644 --- a/configure.ac +++ b/configure.ac @@ -72,6 +72,11 @@ AC_PROG_RANLIB AC_PROG_YACC AM_PROG_LEX +# Check whether we can use g++ with -std=c++0x for the test. +AC_PROG_CXX +AX_CXX_COMPILE_STDCXX_0X +AM_CONDITIONAL(HAVE_STDCXX_0X, test "x$ax_cv_cxx_compile_cxx0x_cxx" == "xyes") + AC_CACHE_CHECK([for gcc with C99 support], ac_cv_c99, [dnl old_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -std=gnu99" diff --git a/m4/ChangeLog b/m4/ChangeLog index d4f2bc1..af717c4 100644 --- a/m4/ChangeLog +++ b/m4/ChangeLog @@ -1,3 +1,7 @@ +2012-07-24 Mark Wielaard <m...@redhat.com> + + * ax_cxx_compile_stdcxx_0x.m4: Add from autoconf-archive. + 2010-04-14 Roland McGrath <rol...@redhat.com> * gettext.m4: Upgrade to gettext-0.17. diff --git a/m4/ax_cxx_compile_stdcxx_0x.m4 b/m4/ax_cxx_compile_stdcxx_0x.m4 new file mode 100644 index 0000000..a4e556f --- /dev/null +++ b/m4/ax_cxx_compile_stdcxx_0x.m4 @@ -0,0 +1,107 @@ +# ============================================================================ +# http://www.gnu.org/software/autoconf-archive/ax_cxx_compile_stdcxx_0x.html +# ============================================================================ +# +# SYNOPSIS +# +# AX_CXX_COMPILE_STDCXX_0X +# +# DESCRIPTION +# +# Check for baseline language coverage in the compiler for the C++0x +# standard. +# +# LICENSE +# +# Copyright (c) 2008 Benjamin Kosnik <b...@redhat.com> +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 7 + +AU_ALIAS([AC_CXX_COMPILE_STDCXX_0X], [AX_CXX_COMPILE_STDCXX_0X]) +AC_DEFUN([AX_CXX_COMPILE_STDCXX_0X], [ + AC_CACHE_CHECK(if g++ supports C++0x features without additional flags, + ax_cv_cxx_compile_cxx0x_native, + [AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([ + template <typename T> + struct check + { + static_assert(sizeof(int) <= sizeof(T), "not big enough"); + }; + + typedef check<check<bool>> right_angle_brackets; + + int a; + decltype(a) b; + + typedef check<int> check_type; + check_type c; + check_type&& cr = static_cast<check_type&&>(c);],, + ax_cv_cxx_compile_cxx0x_native=yes, ax_cv_cxx_compile_cxx0x_native=no) + AC_LANG_RESTORE + ]) + + AC_CACHE_CHECK(if g++ supports C++0x features with -std=c++0x, + ax_cv_cxx_compile_cxx0x_cxx, + [AC_LANG_SAVE + AC_LANG_CPLUSPLUS + ac_save_CXXFLAGS="$CXXFLAGS" + CXXFLAGS="$CXXFLAGS -std=c++0x" + AC_TRY_COMPILE([ + template <typename T> + struct check + { + static_assert(sizeof(int) <= sizeof(T), "not big enough"); + }; + + typedef check<check<bool>> right_angle_brackets; + + int a; + decltype(a) b; + + typedef check<int> check_type; + check_type c; + check_type&& cr = static_cast<check_type&&>(c);],, + ax_cv_cxx_compile_cxx0x_cxx=yes, ax_cv_cxx_compile_cxx0x_cxx=no) + CXXFLAGS="$ac_save_CXXFLAGS" + AC_LANG_RESTORE + ]) + + AC_CACHE_CHECK(if g++ supports C++0x features with -std=gnu++0x, + ax_cv_cxx_compile_cxx0x_gxx, + [AC_LANG_SAVE + AC_LANG_CPLUSPLUS + ac_save_CXXFLAGS="$CXXFLAGS" + CXXFLAGS="$CXXFLAGS -std=gnu++0x" + AC_TRY_COMPILE([ + template <typename T> + struct check + { + static_assert(sizeof(int) <= sizeof(T), "not big enough"); + }; + + typedef check<check<bool>> right_angle_brackets; + + int a; + decltype(a) b; + + typedef check<int> check_type; + check_type c; + check_type&& cr = static_cast<check_type&&>(c);],, + ax_cv_cxx_compile_cxx0x_gxx=yes, ax_cv_cxx_compile_cxx0x_gxx=no) + CXXFLAGS="$ac_save_CXXFLAGS" + AC_LANG_RESTORE + ]) + + if test "$ax_cv_cxx_compile_cxx0x_native" = yes || + test "$ax_cv_cxx_compile_cxx0x_cxx" = yes || + test "$ax_cv_cxx_compile_cxx0x_gxx" = yes; then + AC_DEFINE(HAVE_STDCXX_0X,,[Define if g++ supports C++0x features. ]) + fi +]) diff --git a/tests/ChangeLog b/tests/ChangeLog index 8ca08ea..bce27f4 100644 --- a/tests/ChangeLog +++ b/tests/ChangeLog @@ -1,3 +1,13 @@ +2012-07-24 Mark Wielaard <m...@redhat.com> + + * testfile-cxx-various.bz2: New testfile. + * cxx-various.cxx: New test source. + * Makefile.am (cxx_various_SOURCES): New. + (HAVE_STDCXX_0X): Add cxx-various and -std=c++0x if exists. + (EXTRA_DIST): Add cxx-various.cxx and testfile-cxx-various.bz2. + * test-subr.sh: Add testfile-cxx-various and cxx-various to + self_test_files if they exist. + 2012-07-19 Mark Wielaard <m...@redhat.com> * run-readelf-unknown-self.sh: New test. diff --git a/tests/Makefile.am b/tests/Makefile.am index 0570569..4c0c765 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -97,6 +97,11 @@ check_PROGRAMS += $(asm_TESTS) TESTS += $(asm_TESTS) endif +if HAVE_STDCXX_0X +check_PROGRAMS += cxx-various +AM_CXXFLAGS = -std=c++0x +cxx_various_SOURCES = cxx-various.cc +endif EXTRA_DIST = run-arextract.sh run-arsymtest.sh \ run-show-die-info.sh run-get-files.sh run-get-lines.sh \ @@ -134,6 +139,7 @@ EXTRA_DIST = run-arextract.sh run-arsymtest.sh \ run-readelf-test1.sh run-readelf-test2.sh run-readelf-test3.sh \ run-readelf-test4.sh run-readelf-twofiles.sh \ run-readelf-unknown-self.sh \ + cxx-various.cc testfile-cxx-various.bz2 \ run-bug1-test.sh testfile28.bz2 testfile28.rdwr.bz2 \ testfile29.bz2 testfile29.rdwr.bz2 \ testfile30.bz2 testfile31.bz2 testfile32.bz2 testfile33.bz2 \ diff --git a/tests/cxx-various.cc b/tests/cxx-various.cc new file mode 100644 index 0000000..5ddfc30 --- /dev/null +++ b/tests/cxx-various.cc @@ -0,0 +1,65 @@ +/* Test program for testing C++11 features are recognized. + Copyright (C) 2012 Red Hat, Inc. + This file is part of elfutils. + + This file is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + elfutils is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. */ + +// NOTE this file is the source of the binary testfile-cxx-various created +// with g++ -std=c++0x -g -o testfile-cxx-various cxx-various.cc +// +// When you edit this file to add more C++ contructs either create +// a new source file, or regenerate the binary test file. We always +// want to include the source code of all our test binaries. + +#include <iostream> +using namespace std; + +// Make sure we recognize the encoding of some of the standard types. +// char16_t and char_32_t use DW_ATE_UTF. +char c; +signed char sc; +unsigned char uc; +int i; +float f; +double d; +wchar_t wc; +char16_t c16; +char32_t c32; +long l; + +long +standard_types_func (char ac, signed char asc, unsigned char auc, + int ai, float af, double ad, wchar_t awc, + char16_t ac16, char32_t ac32, long al) +{ + c = ac; + sc = asc; + uc = auc; + i = ai; + f = af; + d = ad; + wc = awc; + c16 = ac16; + c32 = ac32; + l = al; + return ac + asc + auc + ai + af + ad + awc + ac16 + ac32 + al; +} + +int main () +{ + long answer; + answer = standard_types_func (1, 2, 3, 4, 5.0, 6.0, 7, 8, 9, -10L); + cout << "answer: " << answer << endl; + return 0; +} diff --git a/tests/test-subr.sh b/tests/test-subr.sh index e05d22a..c78795f 100644 --- a/tests/test-subr.sh +++ b/tests/test-subr.sh @@ -109,11 +109,21 @@ self_test_files=`echo ../src/addr2line ../src/elfcmp ../src/elflint \ ../src/size ../src/strip ../libelf/libelf.so ../libdw/libdw.so \ ../libasm/libasm.so ../backends/libebl_*.so` +# Prebuild binary in case we don't have a C++11 capable compiler around. +extra_self_test_files=testfile-cxx-various +self_test_files="$self_test_files $extra_self_test_files" + +# This file might not exist if we don't have a C++ compiler around. +if test -f cxx-various; then + self_test_files="$self_test_files cxx-various" +fi + # Provide a command to run on all self-test files with testrun. testrun_on_self() { exit_status=0 + testfiles $extra_self_test_files for file in $self_test_files; do testrun $* $file \ || { echo "*** failure in $* $file"; exit_status=1; } @@ -128,6 +138,7 @@ testrun_on_self_quiet() { exit_status=0 + testfiles $extra_self_test_files for file in $self_test_files; do testrun $* $file > /dev/null \ || { echo "*** failure in $* $file"; exit_status=1; } @@ -148,6 +159,7 @@ testrun_on_self_nomatch() exit_status=0 tempfiles self_matches.in self_matches.out + testfiles $extra_self_test_files for file in $self_test_files; do testrun "$@" $file > self_matches.in # egrep should fail to match anything, but we also want to show diff --git a/tests/testfile-cxx-various.bz2 b/tests/testfile-cxx-various.bz2 new file mode 100755 index 0000000000000000000000000000000000000000..518bcf8b7023490fe31f9850f2305ea76ac3c426 GIT binary patch literal 11377 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 literal 0 HcmV?d00001 -- 1.7.7.6 _______________________________________________ elfutils-devel mailing list elfutils-devel@lists.fedorahosted.org https://lists.fedorahosted.org/mailman/listinfo/elfutils-devel